Skip to main content

Full text of "TS-2068 Up-date"

See other formats


January 1988 


TS:2068 UP-DATE 
the user's NEWS. 


TS-2068 UP-DATB 
1317 Stratford Ave, Panama City, FL 32404 
4904 871 4513) 


The Extra Memory Section 


Do we Need Extra Memory? 


Good question, especially now that disk drives 
are on the scene for the TS-2068, A Disk Drive is 
actually a “box of extra memory", The problem is, 
one has to place the data from disk INTO the TS-2068 
memory chips for It to be used. So, that means that 
we are limited by the FREE memory of the TS-2068 as 
to the LENGTH of the program that it can handle, 
FREE MEMORY is 38652 bytes. Now If we fill up that 
memory with a program, there Is no space left for 
DATA to be stored, so we have to reserve an amount 
of FREE to handle data that will be generated by the 
program, Usually the trade off is about 50-50. 
Then a program will take up about 19K and there will 
be an equal amount of space reserved to store and 
manage data, 


19K of memory is OK for games and trivia but 
lacking to store extensive software programs, Also, 
19K is a bothersome limit upon the amount of data 
that can be stored, There should be a way of 
"stretching" FREE memory so that longer and more 
useful programs can be operated and still have 
enough FREE memory for data, THERE IS! We can use 
the DOCK BANK for programs and the HOME BANK for 
DATA. We can put a 64K program in the Dock Bank, 
and keep almost all of the 38K of FREE memory for 
data storage and management. This capability of the 
TS-2068 has been neglected and few realize the 
Increase in power that the use of EXTRA MEMORY BANKS 
offer. let me put It this way. If you give me 
twice as much nemory storage to store PROGRAMMING, | 
can give you TEN times as much software power. 


A software program is bulit with "kernel 
routines", packages of programming that are used 
over and over by different elements of the program, 
As program length Increases there Is less need to 
create new kernel routines, and the programming 
becomes quite cryptic, using mostly "GO TO and GO 
SuB" within the program tines. Also, it is not 
necessary to create new variables, Then one more 
"K" of programming can produce functions that would 
require as much a 5 or 6K of programming to produce 
without the kernel cells. So then, picture the 
Increased capability that results from using 64K of 
memory for a program In the dock bank, as versas the 
ordinary limit of 19K! Then, the FREE memory of 
38652 bytes Is available for DATA management and 
storages 


THE LONESOME DOCK: In the beginning Timex 
started producing Dock Cartridges with programs. 
These were mostly games IIke "Flight Simulator", 


good games but soon tiring. Since then few 
Industries have produced software in cartridges. As 
a result, the ‘Dock Door is hardly ever lifted, and 
the capability has tanguished, One reason for that 
Is the cost of producing both the cartridge and the 
software In EPROM, A reasonable price for a good 
Dock Cartridge software would be around $60.00, too 
expensive for our tastes, and the reason for our 
Ignoring the Extra Memory functions, One other 
reason is the trickiness of programming required for 
using extra memory. But, 1S it all that tricky? 
And, CAN WE LEARN HOW? 


Ordinarily, publications must reserve their 
page space to cover many subjects, and the detailed 
continuous coverage of one subject cannot be 
attempted.  UP-DATE will undertake to bring you 
detailed and continuous coverage of EXTRA MEMORY in 
this section. We start in this issue with The 
Concepts Of EXTRA MEMORY PROGRAMMING, We will 
progress through the details of programming In extra 
memory banks, Non Volatile Ram, the use of EPROM 
Cartridges, Programming EPROMS, the use of RAM DISK, 
and the use of Disk Drive to support extra memory 
programs. This issue also brings an article in the 
Technical Section about converting a TS-1000 64K RAM 
to a DOCK Memory board, Programming wil! be given 
In both BASIC and in Machine Code, starting In easy 
to understand basics. 


There are people who are Intensely Interested 
in this subject and have done some fantastic things. 
Mr. Craig Davis Is engaged In transferring the Smart 
Text software to run In Dock Bank EPROM, 
coordinating disk drive for both screens and memory 
storage. Hopefully he will tell us about it ina 
future article, I will be discussing the use of RAM 
in Extra memor ye Mr. larry Kenny (Larken 
Electronics) can tell us things about RAM DISK, 
And, Mr. Eric Johnson has promised em a construction 
article on Extra Memory RAM, If you have done any 
work in this area, UP-DATE will publish your 
articles, New user Interest will bring new product 
development, Lets take extra memory "to the limit"! 


Jan. 1988 Editorial 


HI, you TS-2068 Die Hards! Die? Heck, I'l! be 


ustng my '68 till they back up the hearse to ny 
widow's door, This January 1988 Issue of UP-DATE 
brings In some new writers, new to UP-DATE, but not 


new to the TS-2068 user groups. 
short Introduction to each of these outstanding 
writers at the end of thelr columns, They are 
successful business people whose time 1s valuable, 
but still they find time to contribute their 
knowledge FREE, We can show appreciation by a card 
of thanks. Also, this Issue begins new building 
block sections about Extra Memory, Larken Disk, 
Aerco Disk, and Telecomputing., These sections wil! 
bulld as more Issues are published. Hope you ITke 
the direction that UP-DATE Is 'a goin, 

UP-DATE will let our writers "hang It all out", 
pratsing the systems that they IIke, Enthustasm 
unbounded! All of our disk systems are good, each 
having its own better features, We tie these 
systems together with review articles In this Issue 
that should form a departure point for continuing 


II give you a 


coverage. For those who dont yet have a disk 
system, this should be a mouth watering bit of 
reading. Even those who have disk systems should 


find some new Information In the reviews, Want THO 
DOS systems with your present equipment? That too! 

UP=DATE DISK SUPPORT: The capability now 
exists to provide disk support to users who have the 
Amdek Amdisk 3" disk drive, However, due to the 
cost of the 3" diskette, all who order the Issue 
Disk on 3" disk should send a disk to have the 
programs recorded thereon, Issue diskettes are also 
available In all formats of 5 1/4", for Oliger Safe, 
Larken Disk, and Aerco FD 68 If ordering for 5 
1/4" drive please specify for SS or DO, and 40 or 80 
track. The October Issue Diskette Is a success, 
with about 1/3 of the subscribers ordering, That 
Mal! Merge program really does Its thing, for almost 
every type of Listing needs, from Mail Lists, to 
Inventries, to Involces, to the daily unit milk 
producing records for a dairy herd, Rabatpreducts 

It befng C 0 L D up Noarth, this issue will try 
to warm you up by filling space with some Sunny 
Florida fille photos, They are direct from the 
Chamber of Commerce, For those who dont know, 
Panama Clty Is up In the "Pan Handle" of Florida, on 
the North Coast of the Gulf of Mexico, There are 
rolling hills, large navigatable rivers, | Imestone 
springs that gush sparkling water, dense hardwood 
forrests, and beautiful clear lakes. We have four 
mild seasons of the year. Our tourist seasons are 
the Summer for the Yanks and the Winter for our 
"Snow bird" Canadian friends. But our best seasons 
are the Spring and Fall, together about five months 


January 1988 


of delightful temperatures ranging from 65 to 85 
degrees, It is over 600 miles from my house to 
Miaml and another hundred down to the Keys. 

WINTER FEST 1N ORLANDO, FLORIDA: Now iff'n you 
want to warm up the bod and attend a TIMEX COMPUTER 
FEST at the same time, then comoan down to the 
Winter Timex Fest in Orlando In early MARCH 88. 
Thats the time when you think that Winter should be 
about over, but It ‘aint, The details are: Place: 
Mariott Hotel, Orlando Florida, Time: March 4 
through March 8, 1988, Reservations are necessary 
ONLY if you want to stay at the Mariott Hotel. 
Otherwise It is no sweat for motel space elsewhere 
around town. You are encouraged to pre-register for 
the FEST itself, but you dont have to to attend, 
Registration at the door Is $8,00 Single or $12.00 
Family. Pre-registration by mall 1s $5.00 Single or 
$9.00 Family, Mat! to: Winter Timex Fest, 249 N. 
Harden Ave., Orange City, FL 32763, Contact Is Eric 
at that address, The Mariott Hotel Is at 
the South edge of Orlando, very convenient to Disney 
World, Sea World, Circus World, Cyprus Gardens, and 
other World Family attractions. It is about 45 
miles to the East Coast beaches and the Space 
Center, What a great opportunity for a combined 
Winter Fest and Family vacation! Your hosts are the 
combined TSUGs of Florida, 

FILING UP-DATE PAGES: The pages are numbered 
by the color section that they belong to. Please 
remove the staples and file the pages In your 
UP-DATE booklet, New page separators are the front 
and back covers of this issue titled: "EXTRA MEMORY" 


Johnson 


and "Tel ecomputing". UP-DATE needs more 
contributing writers to cover these special 
subjects: Oliger Safe System, Larken Disk System, 


Aerco FD-68 Disk, TOS (Zebra) Disk, CP/M and RP/M, 
Telecomputing, and general articles on programming. 
The sharing of your knowledge will be appreciated by 
all. 

NEW SOFTWARE: This issue brings some new and 
interesting software In the yellow pages, Herb 
Bowers, an eminent authority on INCOME TAX, is Just 
in time for our dreaded TAX REPORTS, Herb promises 
to save you money with his software, and GET THIS! 
He cilmbs way out on a limb and sez that if you use 
his tax program and are penalized by IRS, HE PAYS 
THE PENALTY! Now that Is what | call CONFIDENCE, 
Also, Herb brings us "Vanna Brite" (Hmmm). 

Then JOHN McMICHAEL offers a Interesting 
combInation of hardware and sofware to use the 
inexpensive Commodore Plotter to draw airplanes In 
flight, pretty girls, and fantastic graphics, One 
needs to buy a $49.95 Commodore plotter to do alla 
that. I'm gonna do it because the plotter Is a nice 
peice of equipment and the new capability will be 
both fun and useful, 


Next, a new edition of Smart Text for Oliger 
2-35 EPROM is offerred. This one has FULL EDIT 
during input typing, a expanded Mail Merge annex, 
Automatic Column printing, and a special printer 
set-up for Daisy Wheel printers. 
samples of the Auto Column Printing function, No 
Cut and Patch, the columns print automatically, 
UP-DATE HEADQUARTERS has added quite a group of 
things. | Added for your support are, the Amdisk 3" 
drives, Larken SKDOS Cartridge, Avantex 300-1200 
baud modem, Specterm $1/0 interface, Specterm 64 
Software, another TS-2068 with a 4 Drive system, and 


These columns are 


Aerco FO-68 Disk system with 256K Memory, Already 
on hand was the Oliger Safe System. You should 
notice an Improved print in this Issue resulting 


from the addition of a Daisy Wheel printer, |! hope 
to find some BBS boards somewhere to down load some 
CP/M software for the Aerco FD-68 users. Anybody 
got a good source? CP/M is a subject that needs 
exploring in depth. Up-Date needs a writer who is 
willing to take us by the hand. 

THE UP-DATE BBS: As the learning curve 
flattens out, a UP-DATE BBS will be set up using the 
256K RAM as RAM DISK, with the Larken SKDOS 
augumented by about 3 Mbts of disk 
storage. What I'm planning 1s a informal 88S that 
is exclusively for the subscribers and has about 
three sub boards. One will be for program 
downloads, another for friendly message interchange, 
Suggestions and 


Aerco 
Cartride, 


and one for shopper service, 


helpful guidance will be appreciated. 
A Cheap and Excellent Twin Disk Drive 
For $49.95 


Yep, a Twin Disk Drive, in a cabinet, with 
bul lt in power supply, ready to plug in and use, FOR 
$49.95 plus shipping!! That is the Amdek Amdisk 
Ill, a neat little 3 Inch drive, There are a couple 


of catches to the deal, The diskettes are not 
"Floppies" but "Hardies", The diskettes are more 
like a thin cassette, a sandwich wafer of hard 


plastic that protects the enclosed disk, The disk 
itself has a center sprocket that the drive 
mechanism engages to spin the disk, I+ appeers to 
be designed to enhance long life of the diskette, 
The catch is, the price of the diskettes ($4.95 
each), That would be bad if one had to replace them 
otten, but | believe the diskette should last for at 
least a year or more, Now ordinarily, a twin Disk 
Drive unit, wiil cost about $240.00, the price 
broken down to $160.00 for two drives, pius $80.00 
for the drive enclosure and power supply. So, you 
can get the Amdisk II] for $49.95, plus 10 diskettes 
($49.95), and still be ahead about $140.00, One 
more catch is the fact that the disk drive reads and 
writes to one side of the disk at atime. This may 
not be a biggie as each side formats to 195K of disk 


January 1988 


space for program and data storage, When one side 
Is filled with data you just flip the disk cartridge 
over for the next 195K of storage, The total disk 


capacity (both drives) is 780K, A nice affordable 
disk drive system, 
Later | hooked up the Amdisk drives in series 


with two 5 1/4" drives to operate as "drives 2 and 
3" of 2 four drive system. This allows easy copying 
of programs and data between standard 5 1/4" disk 
and the 3" drives or direct LOAD and SAYE to either. 

The Disk with a data cable that 
wont fit your disk controller, That is only a minor 
the edge card connectors of the drives 
inside are tdentical to the edge card connector of 
your controller card, | hada data cable fabricated 
at a local computer repair shop (cost $21.00), Then 
it took only 2 few minutes to remove the case top 
and replace the existing cable with the new one that 
fits the TS-2068 Disk Drive Controller, Problem 
solved, but you can add $21,00 to the system cost, 
making it $120.80 for the Amdisk twin drive plus the 
10 diskette cartridges. The drives operated 
perfectly upon first hook-up. Also, it has a 
cooling fan to keep down heat problems. Many of the 
more expensive drive enclosures lack good heat 
dissipation, This is a fine disk drive system, but 
dont expect to be able to buy software on these 
expensive 3 inch diskette cartridges. ! am glad 
that | purchased mine because they make excel! ent 
additional disk capacity to my other drives, and | 
believe that the diskette cartridges will last 
forever. Source: Peripherals Direct Ltd., PO BOX 
4301, Northbrook, IL 60062, Tel: 1 800 332 9988, 
They take plastic money but charge a service charge 
for it. 

| am fascinated by a ad in Computer Shopper for 
a Zerox 16/8 bit CPU Computer with 10 mbt hard drive 
that sold about two years ago for over $4000.00 and 
is now offered at $349.00. That might make a better 
BBS system if | can find a BBS software for It, 
Subscriptions to UP-DATE are now at about 150 and 
still buliding. 1 have recelved a lot of 
compliments and 

ry harder. 

year. Ede 


Drive comes 


problem, as 


no gripes, which makes me want to 
Wishing everyone 


a successful 1988 


January 1988 


Extra Memory Programming 


Most of us can visualize the computer's 
"regular" memory. We know that the ROM part of 
memory has "#Ixed" machine programming put there by 
Timex when they bullt the computer, and that there 
Is a section called RAM that we store our own 
programs in, To carry this visualization further, 
we will do some diagrams that splits up the memory 
Into CHUNK SECTIONS, The chunks will be Identified 
by the ADDRESS that the computer's CPU uses to send 
and recelve data to and from the chunks of memory. 
Please refer to Figure 1 for the visuallzation, 


Figure 1 


The left 


Now that is a busy diagram Isn't It, 

Is what we normally visualize, having two 
The center block 
depicts another 64K "BANK of MEMORY" called "The 


block 
sections of memory, "ROM and RAM", 


XROM BANK", Timex put only 8K of memory there to 
handle such things a Cassette Load and Save. When 
we type a LOAD or SAVE command, the computer 
switches OUT Chunk 0 from home bank and switches IN 
Chunk © of the XROM Bank, to do the LOAD or SAVE, 
Notice that the other "Chunks" of the XROM Bank are 
vacant, having no Memory Chips Installed, Timex 
didn't even put sockets under the hood for more 
memory chips. Also, notice that the block on the 
right Is named, "The Dock Bank", and all three BANKS 
have the same CHUNKS identified in the same manner. 


A CHUNK Is 8K (8192 bytes), As we get into 
Extra Memory we will transfer CHUNKS of Memory Chips 
IN and OUT of the range of addresses that the CPU 
controls. | As we visualize the computer, the CPU 
"Sees" the memory chips that are in the left block, 
"the HOME BANK", Now suppose that we add some 
memory chips and fix them so that they are In "CHUNK 
7" of the DOCK BANK (the right block of figure 1). 
Would the CPU "see" that group of memory chips? NO, 


because the CPU can see (address) only 64K at one 
time, and the TS-2068 is fixed so that the HOME bank 
Is what the CPU normally sees. Here Is where 
PROGRAMMING comes Into the act, We can do some 
POKES, and wipe out CHUNK 7 of the HOME BANK and 
make the CPU see CHUNK 7 of the DOCK BANK Instead. 


When we do that, Chunk 7 of the HOME bank will 
still be avallable for storage of data. Now that is 
confusing, so we will transfer attention now to 
figure 2 to see how that can be possible, In figure 
2 we delve Into the way a program I Ine works froma 
Extra Memory bank, The senario Is: We have a BASIC 
program In Chunk 7 of the DOCK Bank, and that 
program is running, The TS-2068 always runs 
programs lines In the HOME BANK, no matter what bank 
the program lines are stored in, The Ingenuous way 
that this happens fs kinda confusing and we will 
delye [nto that later. The key point here Is: 
Since each program line runs In the HOME BANK, the 
CPU "sees all 64K of the home bank", and Stores DATA 
that Is belng generated In HOME BANK RAM. 


o: St referring to Figure 2,:.the IInes of 
programming that are :fn the Dock Bank are picked up 
ONE LINE AT THE TIME, ‘placed In the "AROS BUFFER" of 
the HOME BANK and operated, Say that the line has 
programming that sez <LET A$="1 go to Church on 
Sunday">. Then the contents of A$ Is stored In the 
HOME BANK RAM, Then when the last part of the IIne 
of programming Is finished, It Is replaced with the 
NEXT IIne of programming that Is 1n the DOCK BANK, 
and that line Is executed. The Dock Bank program 
continues to run, one IIne at a time, until the last 
line of the programhas finished. So, In effect, 
the CPU can manipulate TWO 64K banks of memory at 
the same time. 


Now to comlete the 
transfer our attention to figure 3, where we have 
added 2 disk drive, a printer, a monitor, a modem, 
and a cassette, We are still operating the program 
that is in the DOCK BANK, one line at a time, The 
LINE of programming that is operating 1s in the AROS 
BUFFER of the HOME BANK, That line of programming 
can contain LPRINT COMMANDS, or PRINT commands, or 
DISK LOAD/SAVE commands, or Cassette commands, or 
just anything that the TS-2068 can do, If data 
variables are created, as when receiving data froma 
modem, the data is stored in the HOME BANK RAM, OR, 
data that Is In the home bank Ram may be printed by 2 
LPRINT command in the program line. 


Home Bank 


Figure 3 
I a Load (SAVE. 

Abe 4 
aregh ay ADE oar >| pisKdaive | 


ee Tar cele aR) 
Ade f Coe 
PRAT. MonToR | 

Rin : 


"yisualization", lets 


Me Sheng rede 
(Ho 


Now that we have the concepts of Extra Memory 
Operation in focus, we will go on to the "how to do 
It phase. One could survive by just plugging in 2 
cartridge and typing RUN, but since Dock Cartridge 


Software Is about as scarce as hen's teeth, we dont 
have that easy option, Besides, we want to learn how 
to do It anyway, Now we will look at figure 4 and 


see a fly in the soup. The soup Is HOME BANK Memory, 
and the pesky fly 1s "PROG", PROG Is the memory 
address where the CPU finds the address of the first 


byte of a BASIC program, Normally PROG is at address 
26710, and the first line of a basic program wil! 
start at 26710, which ts right slap in the middle of 


CHUNK 3 of the home bank. Dock 
Home Bank. Bann 
Pat Figure 4 chunk! 


We mast Move | 


Prog To Ler 
The Dock Par 
peas s 
32977 ——— 
chyee|| Chunk $n: 
AA 
As we get into the methods of BANK SWITCHING, we 
must tell the CPU "where to find PROG", We will do 
that later. Right now we must learn how to switch 
banks. We will use the term "Enable" to mean the 


chunks of memory that the CPU sees for program lines. 


For example if we enable Chunks 4 through 7 of the 


January 1988 


DOCK bank, then the CPU will not see chunks 4-7 of 
the HOME bank, and WILL see chunks 4-7 of the DOCK 
bank, Bank switching is accomplished by using the 


OUT command, 
chunks of 
visualize 


NOQUT port 244" is used to designate the 
memory to enable, It is easier to 
if we use BINARY numbers with the OUT 
command. OUT 244, BIN 00000000 would enable all & 
chunks of the HOME BANK, while OUT 244,BIN S1111111 


would enable al! 8 chunks of the DOCK bank, Please 
refer to figure 5 for a visuallzation of the effect 
that each "bit" of the binary number has upon the 


chunks of memory enabled. 


¥y r 
Mex enagles “190°? 


The easiest and most simple way of using extra 
memory banks Is to enable chunks 4 through 7 at one 
time, OUT 244,BIN 11110000 will enable chunks 4 
through 7 of the Dock bank. Then if you want to stop 
using program lines In the dock bank, OUT 244,BIN 


00000000 would enable all 8 chunks of the HOME bank, 
Remember, each of the bits affect a single chunk 
enable. Zero enables a Home bank chunk, and "1" 


enables a dock bank chunk. The "OUT 244,B1N number" 
can be done In the direct mode or from within a line 
of programming to switch bank chunks. 

Now suppose that we want to use a program that 
Is in the Dock Bank chunks 4 through 7, OUT 244,BIN 
11110000 would do {t. BUT, the CPU looks for the 
first line of a programat the address of PROG, and 
PROG is sitting at address 26710 in chunk 3 of the 
home bank, (re-visit figure 4). Now we must change 
PROG to the address of the first line of our program 
that is in the DOCK bank, The first address of CHUNK 
4 of the Dock bank Is 32768, But we cannot start 


there, as the first 8 bytes of a dock program is 
reserved for "control codes", See the table of 
control codes in figure 6. Please study the table a 


bit and come on back. 


Figure 6 


Adr. Meaning Value Significance 


23768 Language type —‘I=Basic and MC. 2=MC only 
23769 Cartridge Type 1=LROS or 2=AROS 

23770 Program Start A two Byte Address 

23771 Second Byte 

23772 Chunk Select BIN OSHOME, 1=Dock 

23773 Auto Start? Q=No and 1=Yes 

23774 No. of Bytes 2 Byt Nbr for Ingth of 
23775 reserved MC pgm starting at 26688. 


EPROM OR RAM? 

OKs You can now see that we want to move PROG 
to address 32776 which will be the first byte of the 
program lines In the dock bank. We can do that, but 
now we are getting to a point where procedures vary 
between using RAM or EPROM in the Extra Memory Bank. 

The discussions so far have been applicable to 
both EPROM and RAM in the dock bank. We will now 
concentrate upon handling RAM Memory, and leave EPROM 
for another article. One canot just type and ENTER 
Program lines into the Dock Bank as we are accustomed 
to doing, I+ is necessary to first put the program 
lines in HOME BANK Memory, and then move the program 
lines Into the Dock Bank Memory for operation, The 
objectives and steps of operation are: 1, Move PROG 
to Adr 32776, 2, LOAD a Basic program from either 
Cassette of Disk. 3, Move the Basic program that is 
in Home Bank Memory Into Dock Bank Memory, 4, Make 
the necessary POKES to the first 8 bytes of Dock Bank 
Memory, 5. RUN the Basic Program that is in the Dock 
Bank, Most of these functional steps may be 
accomplished by adding some short utilities to the 
Basic Program after it is first loaded from Cassette 
or Disk, 


THE UTILITIES 
Sources and Credits 
The TS-2068 Technical Manual, 
Mr, Thomas B, Woods! Non Volatile Ram Manual 

PLANNING: We will create a group of utilities 
to ADD to ANY BASIC program, After the utilities are 
added, the program can be SAVED with a starting line 
number of 9800, When the program is RE-LOADED, a 
menu will appear. The menu choices will allow us to 
elect whether to MOVE the program into DOCK RAM, or 
to operate the program In the HOME BANK, If DOCK 
OPERATION is elected, the added utilities will be 
exercised, but if HOME Bank Is elected, the utilities 
will be ignored. We may add this programming to all 
of our BASIC Softwares and utilities to have the 
choice of HOME or DOCK Bank operation, It is assumed 
that there Is a set of RAM memory chips installed and 
set up to operate in the Dock Bank, To begin, we 
LOAD a Basic program from Cassette or disk and add 
the following program lines. 

THE MENU: 9800 INK 7: BORDER 0: PAPER O: CLS: 
PRINT AT 10,4;"YOUR CHOICES ARE:"''TAB 4;"1, Operate 
In HOME BANK"! 'TAB 4;#2, Operate In DOCK BANK"; INPUT 
A: IF A<1 OR A>2 THEN GO TO 9800 

9802 IF A=1 THEN RUN: REM** You may replace RUN 
with a GO TO the program starting line. 

9804 CLEAR 


9999 RESTORE 9999: FOR X=23296 TO 23340: READ Y: 
POKE X,Y: NEXT X: RANDOMIZE USR 23296: DATA 175, 
6,2,33 ,83,92,94,35,86,213,33,89,92, 16,247,225, 
209, 237,82, 68,77 ,235, 175,211,244, 126, 245,62, 240, 
211,244,241, 119, 11,35, 229, 33,0, 0, 237,66, 225,32, 
234,201 


January 1988 


When DOCK is elected, the above routine MOVES 
the BASIC Program into the DOCK RAM, Next, the AROS 
Overhead bytes will be poked. 

9999 RESTORE 9999: FOR X=32768: READ Y: POKE 
X,Y: NEXT XX: OUT_-—244, BIN 00000000: DATA 
1,2,8,128,15,0,0,0 

Now SAVE your Sasic Program, with the above 
additions to Cassette or disk, You may add the same 
IInes +o your other Basic programs that you may want 
to use in the dock bank, IMPORTANT: The basic 
program, when re-loaded WILL NOT operate In Dock Bank 
without the following being accomplished FIRST. 


MOVE PROG F IRST 


MOVE PROG: Before each LOAD of a Program to 
operate in the dock bank, PROG must be moved to the 
starting address of the Dock Program | Ines, which Is 
32776, Otherwise, the CPU will look for the normal 
starting address of 26710, which address will be in 
the HOME Bank chunk 3, Therefore, the operating 
procedure must be to FIRST, MOVE PROG, THEN LOAD the 
Basic Program that has the utilities Installed. Then 
the program is moved into dock bank with a proper 
starting address, The following program to MOVE PROG 
must be the first step, 


9999 RESTORE 9999: For X=23296 TO 23304: READ Y: 
POKE X,Y: NEXT Xz RANDOMIZE USR 23296: DATA 33,85, 
104,1, 178,23, 195, 187, 18 


The above utility should be entered just after 
the computer has been turned ON, ENTER and RUN the 
program, then Delete the line, DONT type NEW, as 
that would RESET PROG to 26710. Imediately after 
running the above utility, and Deleting the line, go 
ahead and LOAD your Basic program that has the new 
menu and MOVE programming. Elect option 2 in order 
to move the basic program into the dock bank, When 
the utility has moved the program Into dock, you 
should have a blank screen. 


The Situation 
If you have been following through so far, you 
now have your Basic program in the Dock Bank, It may 
or it may not operate, depending upon several 


factors. First, there are no variables anywhere, 
Variables are not stored in the dock bank, and we 
didn't store any In Home bank, Also, we didn't 
detete the program from home bank, so It will still 
be there. And, because at line 9999 we did an <OUT 
244, BIN 00000000> we are now operating In the Home 
bank, And, because at 9999, we POKED 32773,0, the 
program that is in Dock does not Auto Run, 
now, the CPU "sees home bank" and the program that is 


So, right 


still there, So, to continue, we should type <DELETE 
1, ENTER> to get rid of the home bank program. 

Next, to get into operation in the dock bank, we 
need to <OUT 244, BIN 11110000> and <POKE 23750, 128>. 


Then <G0 TO the start line of your program>. Try it 
if you have moved a program, If It doesn't operate 
right, then join the 100% club, a group of extra 


memory users who ALL had their first Moved program to 
be not fully functional, Then we will proceed with 
some more learning. 
dont need to read further? 
article for UP-DATE! 

Continulng for the new member of the 100% club: 
Dont give up! Se persistant! Cuss maybe, but dont 
quit! The rewards will come! That program wasn't 
important anyway. And it Is likely to be hiding In 
the dock bank right now. You cannot see it, because 
you cannot LIST a Dock program, Thats the reason why 
we must always carefully edit and fix a program 
before putting it in a extra memory bank, Some 
needed to know facts are: You can LOAD a varlable 
flle in twoways. 1. A program line in the dock bank 
can be: <LOAD/"name"VAL> or other disk syntax to load 
avars file, 2. You can POKE 23750,0 to get into the 
home bank. Then vars files may be created with 
program lines, or LOADED from disk. 


If so, please write an 


A third way of creating vars is to do It in 
program lines in the dock bank, like LET AS= "I 
really dig this", Then the vars so created will be 
stored in the home bank, You see, when a program 


line Is executing, it is IN THE HOME BANK, the CPU 
"SEES HOME BANK", and variables created are stored in 
home bank RAM, Next we will look at some more key 
memory addresses that have names, ARSBUF is adresses 
23748 and 23749, and is the pointer to the AROS 
BUFFER. ARSFLG is Address 23750, and is the pointer 
to the current start of a AROS Data Line. Also 23750 
acts as a switch to switch operations between the 
HOME BANK and the Dock bank, POKE 23750,0 enables 
the HOME bank, and POKE 23750,128 enables the Dock 
Bank, 

Other Key addresses are: ADATLN is Address 23751 
and 23752 and is a pointer to the current Start line 


of a AROS Data Line, ADATLENG is address 25753 and 
23754 which stores the length of the current AROS 
DATA LINE, Of that group you will get the mst use 
of Address 23750, the switch for changing banks. 


Atter POKE 23750,0 you can enter program IInes In the 
home bank, or LOAD another program from Disk or 
Cassette. While experimenting with changing between 
Home and Dock, try combinations of <POKE 23750,0: OUT 
244,BIN 00000000> and <POKE 23750,128: OUT 244, BIN 
11110000>, Keeping notes of results will be helpful. 

PROGRAMMING LIMITATIONS: There are some 
restrictions on commands that can be used in EXTRA 
memory program ON ERR GO TO cannot be used. 
But to skirt around this a ON ERR line can be put in 
the home bank, and "switched to" for use of that 


lines, 


a6 Asenuer 


But maybe it worked fine and you" 


powerful routine, Example: your program line Is <100 
ON ERR GO TO 500> and <500 ON ERR RESET: do 
something: GO TO 102>. Now if those lines were ina 
program to go Into DOCK Bank, they could be 
re-arranged as:  <100 POKE 23570,0: OUT 244, BIN 
00000000: G0 TO 10>, Now that would enable the home 
bank where a line of programming could be: <10 ON ERR 
GO TO 20> and <20 ON ERR RESET: do the same thing: 
POKE 23570,120: OUT 244, BIN 11110000: GO TO 102>. 
Study that out for another way to skin the cat. 

The Oliger SAFE "Fast FOR Counter" is not 
acceptable programming in Dock Bank, But, you can do 
a similiar switch to Home Bank, use the Fast FOR 
counter, and when finished, switch back to Dock Bank 
and continue, Disk Drive LOADS and SAVES of 
Character arrays, Vars fileg,and Screens work fine In 
Dock program lines, but Not BASIC Programs that use 
starting |ine numbers or machine code tables, When 
you are using Extra memory, PROG Is set UP to Chunk 
4, leaving about 6K of address spaces vacant in chunk 
3 of Home bank, Since this space is un-used, It 
could be used for Machine Language programs to be 
executed by RANDOMIZE, Also, that 6K Is subtracted 
from FREE for Home Bank programs. 

Finally, an awful lot of territory has been 
covered in this article to get from ground zero to 
"somewhere", We have just scratched the surtace of 
Extra Memory. Many facts have been left 
out,espically such things as how to use Machine Code 
utilities and programs. And, we have covered only 
the Dock Bank of extra memory. UP-Date wil! continue 
to provide as much useful information as can be dug 
up about Extra Memory programming and devices, Both 
UP-DATE and the subscribers will appreciate writer 
contributions to help In the understanding of this 
broad and relatively unexplored subject. Boas 


January 1988 


Dock Bank Memory for Twenty Cents 
Convert a TS-1000 Ram Memory For the TS-2068 


Many TS-2068 users graduated from the TS-1000 and stil! have a 64K Ram for that classic that is 


collecting dust somewhere, | ask Mr, John Oliger to give us Information about converting his 64K 
Ram for the TS-i000 to use as DOCK BANK MEMORY. He complied and these instructions are simple and 
easy. Other TS-1000 memory boards may be converted in similiar manner, Why dont one of you who 


have done it to a Memotech Memory send in the schematic changes? Given here is the Oliger Schematic 
with insets showing the modification details. When the changes are made, the 64K memory is split 
into two 32K banks addressed 32768 through 65535, chunks 4 through 7 of the TS-2068 memory map, The 
"Bank A/B" switch selects the Bank that vill be active. The data that is placed in either bank will 
be kept refreshed by the computer when the computer is ON. 

The "48-64K" switch is used to TURN ON or OFF the UPPER 16K of memory of the bank selected by 
the A/B switch, If the 48-64K switch is ON, then the entire 32K of the bank selected is active In 
the dock bank, If the 48-64K switch is OFF, then cnly the LOWER 16K of the bank selected (chunks 3 
and 4) is active in the dock bank, | But the upper 16K region Is still kept refreshed by the 
computer, This allows one to elect programming in the dock bank in six combinations of 16 and 32K 
groups. 

John Oliger warns that no one should consider building this memory board from scratch because 
of the high cost of the 4164 "pin 1 refresh" chips, But if one is already on hand, the cost is 
about 20 cents to add 64K of Dock Memory to your TS-2068 (two IK resistors). | could afford twenty 
cents, so | dude it and if works! When finished, | just stuck the memory board in the empty slot of 
the Oliger Expansion Port and started programming in the dock bank, Maybe you know Someone who has 
one of these outstanding 64K boards and can trade them out of it? Now, programming dont just jump 
into that new Dock Bank Memory, Thats a little tricky and one must learn how, See the articles In 
the UP-Date section titled "Extra Memory". A check list of the modifications is given below. 


Check List of changes, Refer to scehematic on next page, 

1, Cut the trace to pin 11 of U-4 (LS-86), OR Remove U-4 and Bend Pin 11 Outward. 

2, Remove 12-16K Switch, 

3. Remove 8-12K Switch. 

4, Remove R-2 27K resistor and replace it with a 1K resistor, 

5, Remove Diodes D-3 and D-4, OR remove U~5 (LS-138) and bend pins 12 and 13 outward, 
6. Remove Dicdes D-9 and D10 and Resistor R-4, 

7, Remove Diode D-11, 

8. Cut trace to pin 3 of U~4, OR Remove U-4 and bend pin 3 outward. 

9, Remove U-5 (Ls-138) and bend pin 15 outward. Re-install, 


10, Cut the trace from Bank A/B switch that connects to U-4 pin 10, Connect that side 
of the A/B switch to Ground, This leaves pin 10 of U-4 connected to +5 Volts. 


11. Cut the trace from ground to pin 5 of U~5, Jumper the Pin 5 trace to ROSCS, 


12, Connect 2 new 1K resistor between the side of the A/B Switch that is connected 
to U-2 (LS-00) pin 10, to +5 Voits. 


4 


ue wey pt HYP 


S/n Suivmay VLOE yung MLL? MUFC NV "teres 
V2H WL 340 v0 0 ston, puis ahah YE ® Digan 


yt 
“syumg NEE % 40 PU $174/2S YUIMS / 
2 valpwrid' Cen vas 


ayeeng aSp7 
mu lt 
5230Y ob 
221M YPAwrS 


yy Pu non 


LW OVW 


L0-04 


(Af sapunh f+ gf vapun fp * 
Aucmau aapun ¢) ‘Dueog JO 


9} pasapyos aue sdea ssecAg [Ty Q 
samt} 2 yoqoauuod abpa Aq qNnoYs yoaw 
0} Aucwaw uo a2e43 gNAOYS yadeny Tt 
“gy utd-99 93 9} utd-cn sacwne zu 
CO prermssy LY wine FY ) 
% o 


494148 ais 


Yuet 42° srez-ss vF Af Ctl 
ey woe Aroma YHo WISITO 


Programming 


January 1988 


HANDY REFERENCES AND A SAFE-DOS FILE INDEXER 


Bob Hartung, 2416N. Co. Line, Huntertown, IN 46748 


When Bill Jones asked me to contribute soe articles for 
SOU my first impulse was to reply that I would rather just 
sit on the sidelines and pick the brains of his other 
writers for awhile. Because the things I have written 
since the days of SYNC and SYNTAX have been simply the 
sharing of ny learning experiences with 1/5 computers, 1 
felt that most SDU readers probably would have advanced 
far beyond anything 1 might be able to offer. Like many 
T/S users, my first hands-on experience with a computer of 
any Kind started with an unexpanded 2X80, to which 1 later 
added the 8K ROM and the notorious RAN-pack, moving up to 
the 2068 as it became available, and most recently a QL 
when they dropped in price below $100. 


(As an aside, although 1 am very impressed by the QL 
SuperBasic as a quite powerful programming language, 
especially when it is extended by Super Toolkit 1], 1 
much prefer the 2068 Basic. When aT/S is extended by 
Beta Basic 3.0 which adds over 100 new or enhanced 
comands and functions, including procedures, to a 
Spectrun-enulated 2068, almost all of the more significant 
programing features of  SuperBasic other — than 
multi-tasking are made available but with much easier 
key-in, syntax-checking, editing, and often faster pro- 
cessing, Most of these new BB commands and functions have 
2-10 optional formats to further extend —their 
capabilities. For anyone interested in what Beta Basic 
does, by permission of BetaSoft 1 have written a 20K-byte 
demo progran that includes an uneditable version of Beta 
Basic to actually run typical listings of about 95 of 
these BB commands. It is available for $5.00 to cover the 
cost of tape, postage and handling.) 


After carefully reading through ihe first issue of SDU and 
the useful tables Bill gave us, it occurred to me that 
another one which might be included is a list of some of 
the more frequently used system variables. I have copies 
of appendices B and D from the 2068 manual on the wall 
back of my work desk, but I find it handy to have these 
excerpts (LISTING 1) taped to the right-hand side of the 
computer for quick reference. If the list is covered with 
clear packaging tape and attached only at the top edge it 
does not interfere with using the cartridge port. 


DOSDEX--AN AUTOMATIC FILE INDEXER 


The DOSDEX file indexer is an adapation of the excellent 
nenu loader written by Roelof Mulder and John Oliger and 
included in the SAFE DOS documentation. On my CPI 80-track 
drives, one DOSDEX disk can hold up to 165 disk catalogs, 
each of which can contain up to 165 individual file 
titles, or 27225 in all. These are displayed in the same 
format as the M/O menuloader and are sequentially accessed 


by Keying «CAPS SHIFT L> or just lower-case (1). If the 
appropriate disk is inserted, Keying <ENTER) as in the 
menu loader will load the title selected by the cursor. 


T added item numbering to the display of titles and 
file-types, without using the fast FOR/NEXT loop, so the 
additional processing time causes the display of menu 
pages to be noticably slower. (At my age, more is passing 
me by than I’m catching up with anyway!) Jf the eighth 
byte (14) is changed to an 8 and the listing is entered 
exactly as given here, the machine code routine from your 
menu-loader listing may be poked into a 39-byte first-line 
REM instead of a VARS location as the program was 
originally written, No other variable definitions may be 
placed between CLEAR and DIM c$ if the code is stored in a 
line | REN. With deletion of some screen effects and the 
line 10 q$ definition this allows DOSDEX to be placed in 
file Owith SAFE v2.32 or later. 


Or if you choose, you may simply adapt your original 
menu-loader listing with the required changes for DOSDEX 
and save it as the very first file. It will not fit into 
file 0 but you can use it along with the nenu-loader 
routine which is in file 0. Note that token-words must be 
used as much as possible and line 200 of the original 
menu-loader listing must be moved up to Vine 9. In 
condensed form DOSDEX will just fit into one cylinder 
(5120 bytes) when expanded with catalog data, or if you 
prefer toretain the original screen format each index 
will use two cylinders, cutting in half the maximum 
possible number of titles stored. 


To use DOSDEX, first save it (or the menu-loader) to track 
@ on your index file disk with <CLEAR) «SAVE /6). Then 
make a save of DOSDEX as the first file on the disk with 
<SAVE / “DOSDEX" LINE 2). (This is necessary in order to 
initiate the routine if the shorter form of DOSDEX is in 
file 0.) For convenience in identifying your file disks, 
number them consecutively with a felt marker, numbered 
labels, or white-out as @,!,2,3 . . . beginning with your 
DOSDEX disk. Since the storing of the respective indices 
requires alternately obtaining the CATalog data fron each 
file disk, then storing it on the DOSDEX disk, it’s a good 
idea to have write-protect tabs on all the file disks. 
(You could also adapt DOSDEX to a 2-drive systen so file 
catalogs would be read from one drive and saved to the 
DOSDEX disk on the other.) The sequence for indexing on a 
single-drive system is this: 


Insert the DOSDEX disk (8) and Key <LOAD). (Key <ENTER) to 
load DOSDEX if it is stored as file 1.) Remove DOSDEX disk 
and insert file disk 1. Key <C> to CATalog the file disk 
into DOSDEX. (If you have Keyed in {LET / P= 0) before 
loading DOSDEX and have your printer on, a hard copy of 
the file titles will also be printed out here for disk 


Programmi ng 


labeling or a loose-leaf binder.) Remove file disk 1 and 
insert DOSDEX disk. Key «S) to SAVE as index "I". Repeat 
with file disk 2, and so on. 


To read the DOSdex files, key <LOAD) with disk @ in place. 
When DOSDEX is loaded, either from file O or fron file 1, 
then Key lower-case {1) or <CAPS SHIFT L) to LOAD first 
set of titles. Use any key except L to run the cursor 
through the page(s) as with the menu-loader, or key either 
lower-case or upper-case <L) each time you want to 
sequentially load each of the file indices in turn. If you 
want to update only one particular index, reset NEXT # 
(disk number) by Keying {N) and insert the corresponding 
disk. Key <C> to CAT the updated info, then insert the 
DOSDEX disk and key <S) to SAVE it. 


HANDY REFERENCES 


DFILEL: 16384,6912 
KEY REPEAT STOP: POKE 23541 ,0 
"DELAY: POKE 2356140 
"8 RATE: POKE 23562,n 
CHARS TABLE [+256]: 23606-7 
(Normal: POKE 23607 ,60) 
KEYBEEP LEN: POKE 73609, n 
VARS START: PEEK 2aezrfeet 23628%256 
(46 for first CHRS byte) 
BASIC start: PEEK 23635+PEEK 236363256 
(#1 for LSB of line no, or +5 for 
first character byte of line 1 REM) 
LINE 0: POKE 26711,0 
CALC STACK: PEEK 2ROSLHPEEK 234528756 
CAPS ON: POKE 23658,8 
* OFF: POKE 236580 
TV FRAMES: 23472-3-4 
TOP-LINE SCROLL: INPUT ** or POKE 23692,-1 
LAST-LINE SCROLL: PRINT AT 21,0 after above 
UNUSED SYSTEM BYTES: 23728-9 
RANTOP: PEEK 23730+PEEK 237314256 
PRNT DRIVER: POKE 26703,LSB: POKE 26704 ,HSB 
UDG start: 65968 (168 bytes) 
JLo ae es) commands : 


LET 
our ee 27: LPRINT "....! 
Col/line: POKE 23323,n (defaul t=255) 
LF after CR: POKE 23324, 10 (Ono LF) 
SCREEN LPRINT TO PRINTER: TPN #2,"PY 
(Normal: CLOSE #2) 
WARN RESET: RANDOMIZE USR 0 


DOSDEX LISTING 


1 REM 123456789 NC code here 4567890123456789 

2 CLEAR : DIM c$(VAL "178" ,VAL '20"): LET tVAL "18": L 
ET s=SGN Pl: LET oNOT PI: LET ds 

5 LET a=VAL "PEEK 23635*PEEK 2369625645": LET c=INT (a 
NAL "256"): POKE VAL "23549" ,VAL *195": POKE VAL "23558", 
a-(cHVAL 256"): POKE VAL "23551" ,c: LET 4isUSR VAL "23549 
*: LET rowests: LET col=VAL "9": LET ns=c$(VAL "178", TOV 
AL "16") 

28 LET a$="": DIM {$(VAL "6",s#s): LET 44(sts)=" DATA n* 
+ LET #$(INT PID=" DATA $": LET #$(VAL "4")="CODE *: LET f 
4(VAL "S")="ABS ": LET f$(VAL '4")="UAL * 


January 1988 


308 CLS : IF n$(LEN n$)=" * THEN LET n$=n$¢ 70 LEN n$-s): 

60 TO VAL "386" 

328 PRINT AT 0,05" Diski*;d-s3": "jn$;Ho;"Key: NEXT CAT 5 
AVE LOAD (183d 

405 LET f=53 LET c=INT (4iAAL '18"): LET dif=INT (CFIA 
L "18"=-c)aVAL "18"49VAL *.4"): LET loop=VAL "17" 

418 LET q¢="p*: LET it=s: IF loop=4i THEN LET loop=fi: 6 
0 TO VAL "425" 

415 FOR i=s TO ct FOR neo TO loop: PRINT AT rowén,t;a$jAT 

rowtm,{-LEN STR itzity’ "scsCit, TO td;* ";#8(CODE sit 
sVAL TH1*)41): LET +51 NEXT m: G60 SUB VAL "588": NEXT 

it FOR i=sts TO VAL “19's PRINT AT i,tsa$: NEXT is IF NOT 

dif THEN 60 TO VAL "416" 

425 IF £ THEN FOR mo TO dif~s: PRINT AT rowim,t;a$;AT ro 
wim, t-LEN STRS ityits’ “yc8Cit, TO t);" "s#S(CODE c$Cit,VA 
L "11")+1)s LET it=it+s: NEXT ms IF loop)=fi THEN LET f=0 

427 1F NOT € THEN LET it=fits 

430 GO SUB VAL "S80": GD TO VAL °418" 

508 FOR L=o 70 m-s: PRINT AT rowtL,col-s-s3" "3 INVERSE 
37)" IF q$<)"* THEN FOR a=s TO PItPI: NEXT at Let qi="" 

518 LET aS=INKEY$: IF at="" THEN LET q$="p": 60 10 VAL *5 
16" 

526 IF CODE a¢=VAL *19* THEN GO TO VAL "668" 

522 IF a$="C* THEN OPEN #2,'P": CAT : CLOSE #2: 60 TO INT 

PI 

524 IF at="L" OR af="1" THEN LOAD /STR# d 

526 IF a$="S* THEN LET dedts: SAVE /STR$ (d-s) LINE tat: 
60 10 INT PI 

528 IF a¢='N* THEN INPUT * INPUT NEXT #*;d: GO TO INT PI 

530 PRINT AT row#L,col-s-s;" ‘: NEXT Ls LET ag=* 

"RETURN 

688 CLS : LET pos=it-m#L: LET dé=c$(pos, TO t>: LET a=COD 
E c#(pos,t#s): IF NOT a THEN LOAD /d$ 

610 IF a=s THEN LOAD /d$ DATA n() 

628 IF a=sts THEN LOAD /d$ DATA n$<) 

636 IF a=INT Pl THEN LOAD /d$CODE 

648 IF a=VAL "4" THEN LOAD /d3A8S 

650 IF a=VAL "5" THEN LOAD /dSVAL 


AUTHOR PROFILE 


Mr. Robert D. Hartung, "Bob" to us, hol ds down 
two positions for Dekalb County, Itttnots, Bob Is 
Chaptaln for the Sheriff Department, and Is @ member 
of the County Child Protection Team, Bob also 
serves as Pastor of Church of God Ministries in Fort 
Wayne, IN., and is the Founder of "Turning Point 
Services", a Ministerial outreach program for 
troubled youth, Bob previouly served with 
distinction In Pastorlal work in England and Canada. 
HIs hobbies are; helping Youth development, fishing, 
antenna design, photography, and TS Computing. Many 
of us are familiar with his writings In SYNTAX, 
SYNC, TS Horlzons, Syncware News, Time Designs, and 
CTM magazines. | Bob Hartung Is hereby appointed 
Chaplain and Spiritual advisor for UP-DATE and the 
subscribers. We need Bob In more ways than one, 


Programming January 1988 


HASTERING THE MANAGEMENT OF CHARACTER ARRAYS 


THE MANAGEMENT P&CKAGE 

Wouldn't it be nice if we could CAT the disk directory, and with X-RAY eyes see the data that is in 
eacn program! But all we can see is the titles and the data length of each recording. ‘Ibo bad that data 
can't be more visable! Probably the biggest problem of using computers is the need to plan shead and 
organize indexes of files so that later we will be able to find the data that we need to use. Last issue, 
we started with "SDOS MAIL MERGE, a software that creates all kinds of Listings of Data, from "mailing 
lists, inventory lists, books and articles lists, to the daily milk producing records of a dairy herd", 
‘These lists are Saved for future use in "Character Arrays". 

‘he lists produced by SDOS MAIL MERGE are just that, "lists". SDS Mail Merge gives yai a "Sorted, 
pure List", and provides optims for print outs in several formats, LABELS being one of the most useful. 
Now if you work with many lists of things or people, you know that each list that yau produce is likely to 
repeat some of the data that is contained in another list. Lf you print a lot of mailing labels using 
several mailing lists, you are likely sending out duplicate letters to the same persons. It takes a lot of 
time to cross reference several mailing lists, then more time to eliminate the duplicatios. So, we have 
two problems to solve, one- eliminate duplications, and two- "X-RAY the disk files to sce their contents". 

The Data Management Package consists of SDOS MAIL MERGE and the tvo Companion Programs, "PURITY" and 
"LIST LOOKER", both given in this issue. ‘These two companion programs are short enough that the key~in 
project should be easy. But, as usual, the two programs will be included in the Jamary Issue Diskette, 
“LIST LOOKER" is your "X-RAY Byes", and "PURITY" is your program to PURIFY all of yar various listings 
against each other to eliminate duplicatims within all of the lists. Each of these programs are 
independant, and designed to be used with the files produced by SDOS MAIL MERGE. Actually, they can be used 
to purify and process ANY Dimensianed Character Array files, whatever the source. 

PURITY also has another purpose. Long Mail or Inventory Files cannot be LOADED to a Printing software 
because of the limited amount of FREE memory of the host program. (SCRIPI and SMART TEXT both gives us 
somewhere between 12K and 17K of FREE memory to be used for both TEXT and MAILING LISIS. A % Neme File, 
having 7 lines of 31 Characters each, tekes up 20732 bytes, and cannot be loaded to either program. BUT, if 
we break down such large mailing lists to, say, 12 names per list, and "process the groups automatically", 
then there is sufficient FREE available with almost any word processing software. Such a scheme would 
result in the handling of mail files of 2604 bytes each, well within the capacity of any Word Processing 
Software. 

I wont speak for MSCRIPT, but Smart Text can take 40 such files of 12 name groups, and print them all 
without hesitating, as Form letters, or Labels, or as just print outs of the listings. So, "PURITY" is 
designed to enhance the capabilities of all Word Processing Softwares, by splitting up Large Listings so 
that they can be loaded to the operating programs. Now for the details. 


PURITY 
At right is a screen copy of the Purity YOUR CHOICES: ARES 
Function Menu. This menu is line number 152 which 
is the starting line mumber of the program. As 
funetios are accomplished, this mena is 
re-presented. ‘The PURITY program may be SAVED and 
re-loaded with data aboard. Or, a selectim of <> 
will bring prompts to install a Data Diskette, then 
CAL the directory and promt for input of "file 
name", When a file is loaded, the menu re-appears 
and processing can begin. Each loaded file is 
"purified" with itself, eliminating duplicates, and 
eliminating skips, by a selectim of </>. When 
finished, the file may be RE-SAVED by a selection of 
<> or <>. 


4. RE-SAVE This FILE (SAVE OVER) 

2. Break into 12 Name Files, SAVE to PURITY DISK 
3. SAVE this Large File Tb PURITY DISK 

4. COAPARE with all PURITY FILES for DUPLICATES 
5. FLIP through File Names on Screen 

6, LOAD another Large File 


7. PURIFY this File 


Programming 


The selectio of <2> will result in the large 
file being broken up into groups of 12 nam files 
and each file SAVED wita IN-SEQUENCE numeric file 
names, "mx1 through mx100". This begins the 
creation of your "Purity Disk". For example, if the 
large file being processed is a file of % name 
graips, your "purity disk" will have 8 graup SAVES, 
and their titles will be "m1 through mx8". Ine 
“purity files" will be used to "purify your otner 
large group files". To process more large files, 
select <6> to load in the files one at a time, then 
<7>, then <4>. As that sequence finishes, the large 
file being processed has been compared with the 8 
purity files, and all duplicates eliminated. The 
large file is now PURE, and my be SAVED as a large 
file. 

Now that we have the second large file 
purified, it my also be saved to the purity disk by 
selecting <2>. Then, the "mx" files are again saved 
as '12 name groups", mx through mx16. ‘There will 
be fewer saves of mx files if the elimination of 
duplicate names resulted in fewer name files in the 
large list. As more files are loated in and 
processed, the purity file grows, and as it grows 
the number of comparisons with the next large file 
inereases. For example, if we purify 10 files of 9% 
names, there could be as many as 80 mx files saved 
to the purity disk (no duplicates foind), or 40 mx 
files if half of the names were duplicated within 
the files being processed. 


This is a program of Nested Counters within 
Nested counters. ‘he number of individual camts is 
astronomical. To purify just oe % nam file 
against itself requires 4608 comparison counts, plus 
7 counts far each duplicate found, plus 4508 counts 
to eliminate interior skips, plus 7 counts for each 
skip eliminated, I haven't even attempted to sum up 
the number of counts required to compare all of the 
fields of a large file with the m files in the 
purity disk (be my guest). One or two files are 
processed fairly fast, taking oly about two 
minutes. As the purity files build, the time of 
processing increases, This is an ideal BASIC 
program to assemble with TIMECHINE to greatly 
increase its speed of operation. 

PURITY will not recognize such repeats as, 
"John L. Sullivan, Mr. Jobn L. Sullivan, and J. L. 
Sullivan". While using MAIL MERGE to create the 
files, you should be consistant with the format far 
entering names. Comparisons are made with the FIRST 
LINE of each name group, the "name line". If two 


January 1988 


Name Lines are the same, then the whole group of 7 
lines "of the large file being processed" are 
deleted. Tne files in the Purity Disk are never 
changed. The memis are arranged so that promts 
give the break needed to change diskettes. You can 
use PURITY in several different ways to process your 
listings. The pure files are then ready to print 
out with either SDOS MAIL Merge, LIST LOOKER, Smart 
Text, or any software that can handle character 
array listings. 
THE PURITY LLIST 


10 FOR n=1 TO 8: LOAD /¥mx"4STRS n DATA k$(): FOR 
y=] TO 12: PRINT nj" "jy: FOR g#1 TO 4: PRINT KSCy,g 
): NEXT g: NEXT y: NEXT n 

20 STOP 

25 FOR n=1 10 96: PRINT nto$(n,t): NEXT a 

30 STOP 

55 CLS : PRINT AT 10,0;"Install your Mail File Dis 
kette™'!™"Touch ENTER": PAUSE 4e4: CLS 

60 LET i=0: LET b= LET x=0 

65 LET a=0: : PAPER O: INK 5: CLS : CAT : 
INPUT "Input Name of Array to LOAD";a$: LOAD /ad DAT 
A 030) 

66 GO TO 152 

70 CLS : PRINT AT 10,0;"Check all 96 Names and DEL 
ETE OUPLICATES "; FLASH 1;"Line so" 

80 FOR n=1 TO 96: IF n>96 THEN GO TO 135: REM **Fi 
eld counter 

82 IF oStn,i,1)2" " THEN NEXT nz GO TO 135 

90 FOR y=nti TO 96: REM ** comparison counter 

100 IF oS(n,1)208(y,1) THEN FUR m=1 TO 7: LET oSty, 


m=": NEXT m: REM ** Delete dup-licate 

110 NEXT y 

120 NEXT 9 

135 CLS : PRINT AT 10,0;"Eliminate skips in 96 Name 


array"; FLASH 1;"Line 140" 

140 FUR n=t TO 96: IF n>96 THEN GO TO 152 

142 IF of(n,1,1)<>" " THEN NEXT nz GO TO 152 

144 FOR y=ntl TO 96: IF y296 THEN NEXT nz GU TO 152 
146 IF o$(y,1,1) THEN NEXT yz: NEXT n: GO TO 152 
148 FOR g=1 TO 7: LET o$(n,g)=o8(y,g): NEXT g: FOR 


g=1 TO 7: LET oS(y,g)=™ NEXT g 
150 NEXT n 
151 CLS : PRINT AT 0,0;"The file "; FLASH 1;a5; FLA 


SH 0;" is now Purified” deme st STAAT= 
wy 152 CLS : PRINT AT 2,0;"Your Choices are:"!'"<1> Re 
“SAVE this file"™™ (SAVE OVER old file"''"<2> Bre 
ak into groups of 12 name files and SAVE to 
the Purity disk"! !"<3> SAVE this whole file to 
the Purity disk"!'"c4> Compare with ALL Purity 
files for Repeats.""'"<5> Flip Through File N 
ames"'"<6> LOAD another File"'"<7> Purify this File" 
<8> Remove Skips Only": INPUT "Input choice "jz: G 
© TO (z28)*VAL "140" (z= 7 )*704 (z= 1)* 160+ (27241784 (2 


=5)* 160+( )*5704( )*G004( 270) *504(Z<61 OR 2>B EIS 
2 - Con 


Programming 


160 CLS : PRINT AT 10,0;"Split the 96 name array in 
to 8 12 name arrays and save each to disk "; FLASH 
1;"Line 170" 

170 CLS : PRINT AT 10,0;"This is a PURE FILE SAVE, 
To SAVE OVER EXISTING, keep same disk."'"'To SAY 
E on PURITY DISK, Install PURITY DISK"! ENTER When 
READY"; PAUSE 4e4: CLS 

172 INPUT "INPUT FILE NAME "325: PRINT '' FLASH 15" 
SAVING ";z$: SAVE /z& DATA 0$(): GO TO 152 

174 FOR n=1 TO 100: ON ERR GO TO 176: LOAD /"mx"+ST 
RS n DATA k$(): NEXT 

176 ON ERR RESET : LET b=(n-1 AND n>t)+(1 AND n<2) 

179>LET a=0: REM * Nattcounts the large fields in in 
c- rements of 1, "b" numbers the disk files to say 
e. 

180 FOR c=1 TO 96 STEP 12: REM *get groups of 12 na 
me fields 

190 IF ¢>96 THEN STOP : 
200 DIM k5(12,7,51) 

210 FOR y=1 TO 12: REM ** count to fill a 12 name f 
ile array 
220 FOR g=1 TO 7: REM **count to fill 7 lines 
230 IF o3(cta,1,1)=" " THEN LET c=96: LET y=12: LET 
Go TO 340: REM ** If first chr is aspace then 
quit, no more names present 
240 LET kSly,g) =o$(cta,g): 
To 300 
250 NEXT g 
255 LET azatl: IF a>12 THEN NEXT c 
260 NEXT y 
300 CLS : LET 2$=STR$ b: PRINT ;AT 15,0;"Saving ""m 
x"; FLASH 1; INK 6325; INK 5; FLASH 0;" 
mx"+STRS b DATA k5(): LET bebt+t: LET a= 
310 NEXT c 
330 CLS : BEEP 1,20: PRINT AT 10,0;"Fiie name ";a$; 
"has been split" into ";b-1;" groups named "nx"; 
+1! "through mx";b-1;"t"! ENTER to Continue.": PAU 
SE 404: CLS : GO TO 350 
340 IF kSC1,1,1)<>" " THEN GO TO 300 
382 LET b=b-1: GO TO 330 
350 CLS : PRINT AT 10,10; "Your Choices:"''TAB 45"1e 
Quit"! ITAB 4;"2. Load Another File": INPUT z: IF z= 
1 THEN PRINT ''TAB 4;"Install BASIC Disk, ENTER": PA 
USE 4e4: CAT : INPUT "Input Title to LOAD";a$: LOAD 
fas 
360 CLS : PRINT AT 10,0;"Install Data tile Diskette 
'WENTER When READY": PAUSE 4e4: CLS : GO TO 65 
370 CLS : PRINT AT 10,0;"Now purifying against the 
winx" files in Purity Disk."!! FLASH 1;"Install Pu 
rity Disk and ENTER"; PAUSE 404: FOR r=i TO 200: ON 
ERR GO TO 372: LOAD /"mx"+STRS ¢ DATA kS(): PRINT AT 

15,0;"Checking number of Files "; FLASH 1;"mx"zrz N 
ExT r 
372 CLS : ON ERR RESET : LET i=r-i: FOR r=1 TO i: P 
RINT AT 10,0;"Processing file "; FLASH 15" 
SH 0;" to Delete Repeats in "; FLASH 1;a$: LOAD /" 
mx"+STRS_r DATA k3() 


GO TO 340 


IF a=12 THEN LET a=0: GO 


January 1988 


374 FOR a=1 TO 12: 1F n>12 THEN GO TO 388: REM **Gr 
oup counter 

376 FOR y=1 TO 96: IF y>96 THEN GO TO 386 

378 IF of(y,1,1)=" " THEN GO TO 334 

3532 IF &S(n,1)=08(y,1) THEN FOR m=1 TO 7: LET o3fy, 
nye"; NEXT m: REM ** Delete dup-licate 

384 NEXT y 

386 NEXT n 

388 NEXT r 

396 LET b=i+1: GO TO 135 

500 FOR w#7 TO 12: LOAD /"mx"+STRS w DATA k3Q): FOR 
221 TO 12: LPRINT 23" "3kS(z,1): NEXT zi NEXT w 
550 STOP 

600 FOR w=1 TO 100: ON ERR GU TO 602: PRINT w3"" 
S(w, 1): NEXT w: STOP 

602 ON ERR RESET : PRINT FLASH 1: PRINT '"ENTER WHE 
N READY": PAUSE 4e4: CLS : GO TO 152 


eel 


LIST LOOKER 
SDOS MAIL LIST COMPANION No. 2 


Mail files, telephone listings, stock listings, 
etc, all have one thing in commn. After the second 
listing is tucked away in diskette, things 
degenerate into confusion. "whos on first, what is 
in centerfield, ami why is the pitcher". Remember 


that skit? “LIST LOOKER" is deceiving by its 
shortress, This utility will look at any LIST FILE 
that is saved as a Character Array of three 


dimensions. Example, you have a 100 nam array 
containing "full name, Apartment number, Street 
address, City and State, plus other data, making 
each a 7 line field. The "dimension" of the array 
would be A$(100,7,31), "31" being. the number of 
characters per line. Its kinda hard to see what is 
in a file just looking at the Disk Directory, isn't 
it? 

LIST LOOKER will X-RAY that file and show you 
its bones. When List Looker loads in from disk, a 
prompt is on screen giving three choices: 1. LOAD an 
Array, 2. LPRINT Listing, 3. Screen Print Listing. 
When <1> is elected, you are prompted to "Install 
Data Disk", then a touch of ENTER gets the Disk 
Directory WITH A PROMPT to "ENTER ARRAY TITLE". If 
ya are like m, your diskettes ae kinda 
disorganized. So if that directory doesn't contain 
the data that you are looking for, just FREAK, type 
@ TO 5, and you can install another diskette to get 
its directory and loading prompt. 

The data array artomatically LOADS after input 
af its title, ‘hen <3> will get a screen print out 
of, each of the groups, mumbered from 1 to the end 
number. Example, if there are 50 names and 


Programing 


addresses, each will screen print under its field 
number so that you can identify the names that you 
may be interested in. The "3, LPRINT LISTING" lets 
you get a complete print out of all of the listing. 
‘This time however, you can select the "number of 
lines to print", "TAB", and "SPACES HETWEEN". So, 
what does this do far you? THINK! —— You got it! 
You can print print LABELS, by input of "4 Fields", 
2 spaces, and 5 for TAB. Or, you can input 7 lines 
and get whole groups of data fields. 

Maybe you dont know how many names and how many 
lines per name the array has. It really doesn't 
matter, as the program "sniffs for total number of 
fields", then tells you that, plus the mumber of 
lines, at line 130. The INPUIS then governs the 
print format. This is a excellent "companion 
utility" to use with mailing list data files 
generated by "SDOS MAIL MERGE". Also, it works with 
"purity Files". The three programs go hand in glove 
to give you complete processing of all kinds of 
Array Data Files. 


‘THE PROGRAMMING 

There are several significant tips af 
programming in LIST LOOKER. Lets take them line by 
lim. Line 5 (the starting line), gives the 
<LET/P-0> to initialize the Oliger SAFE printer 
driver. Other Disk Operating systems will need to 
have a different program statement here to 
initialize a printer driver. ‘hen the POKE 23324, 10 
is to tell the system to give a LINE FEED with each 
Carriage Retum. If your printer does not need a 
LINE FEED, then Omit this. Then LINE 10 gives the 
way to CAT the Disk Directory, and put a prompt on 
the screen directory. After the prompt, the Array 
Title is LOADED by LOAD/ASDATA 28(). 

LINE 90 is executed to LOOK AT the ARRAY and 
find its DIMENSIONs. ‘he "Z Camter" uses a ON ERR 
to trip when the Number of Name fields have been 
canted. ‘The "G Counter" does the same for the 
Number of Lines". ‘Then Vars 2 and D are used far 
counter limits in the LPRING routine at line 20 and 
the Screen Print routine at line @. This program 
is short enough to really bite into and discover all 
of its tricks. Have fun doing it! 


LIST LOOKER, the LLIST 

5 LET /P=0: POKE 23324,10: BORDER 0: PAPER 0: INK 
6: CLS : GO SUB 136: PRINT AT 10,10; "OPTIONS"! ' TAB 
451, LOAD ARRAY"! 'TAB 4;"2, LPRINT Listing"''TAB 4; 
"3, Screen Print Listing": INPUT "Input Your Choice? 
IF a<i OR a>3 THEN GO TO 5 

7 GO TO (a=t)*10+(a>1)*90 

10 CLS : PRINT AT 10,4;"install Data Disk, ENTER": 
PAUSE 4€4: CAT INPUT "Input CHR ARRY TITLE";A$: Lb 
OAD /A$ DATA Z$(): GO TO 5 


January 1988 


20 CLS : FOR N=Z1 TO Z2: ON ERR GO TO 40: IF ZS(N, 
V)C1)=" " THEN STOP ‘ 

25 IF Cod THEN LPRINT TAB TB;n 

30 FOR Y=1 TO C: LPRINT TAB 10;Z5(N,Y): NEXT Y: FO 
R M=1 TO SX: LPRINT ; NEXT m 

35 IF tw=t THEN FOR Y=1 TO Cz: LPRINT TAB 10;NS(Y): 
NEXT Y: FOR H=1 TO SX: LPRINT : NEXT m 


38 NEXT 0 

40 ON ERR RESET : GO TO 5 

60 CLS : FOR N=1 TO Z: ON ERR GO TO 80: IF Z5(N,1) 
=" THEN STOP 

70 PRINT n: FOR Y=1 TO D: PRINT ZS(N,Y): NEXT Y: P 
RINT : NEXT N 

80 ON ERR RESET : PRINT ''"ENTER WHEN READY": PAUS 


— 464: GO To 5 

90 FOR Z=1 TO 200: ON ERR GO TU 100: LET C=LEN 25( 
Zl): IF 28¢Z,1)(1)=" " THEN: STOP 

95 NEXT Z 

100 ON ERR RESET : LET Z=Z-1: FOR G=1 TO 109: ON ER 
R GO TO 110; LET C=LEN 2$(1,6): NEXT g 

110 ON ERR RESET : LET D=G-1 

120 IF a=3 THEN GO TO 60 

130 CLS : PRINT AT 10,0;"The Array has ";0;" Fields 
e""'AT 12,0;"Input Nbr of Fields to Prints Rey 44 
or Labels )": INPUT C: CLS : INPUT "Input Start Nor. 
"3Z1: INPUT "Input END Nbr, "322: INPUT "Input TAB: 


"378: INPUT "Input Spaces Between: "55X 
132 CLS : IF c<5 THEN INPUT "Twin Labels? <I> Yes~ 
<2> No ";TW 


136 CLS : GO TO 20 
138 DIM n$(4, 31): LET n$(1)="7S=2068 UPDATE": LET 
AS(2)="1317 Stratford Ave.": LET n$(3)="Pangma City, 


Programming 


PRINTER PROGRAMAMINS 
- oR - 
Adapting Software to Printers 
The article about printer contro! in the 
Octover brought forth enough response to 


indicate that a more comprehensive reference should 
be attempted. users are having 


issue 


Apparantly many 


problems in this area, One nice Lady wrote her 
thanks, and several Gents wanted more information, 
But John Qliger wrote and pointed out a couple of 
mistakes, | These will be corrected in the text of 


the following. 
Why doesn't 
programming to make the software print "right out of 


software writers include enough 


the box'! with ALL TYPES of printers? Well, that 
would be nice, but would likely require about 38K of 
programming, and our TS-2068 has only 38K of FREE 


with, 
print with 
‘compatable with" several brands, and instructions 
given to make program line changes to adapt to other 
printers, There ore several DOT MATRIX printer 
brands that use the "EPSON STANDARD", which usually 
means that the printer maker copied the Epson 
"Control Codes", Two "Standards" widely used with 
Daisy Whee! printers are "QUEME Compatable™ and 
"DIABLO Compatable", 


memory to start 
designed to 


So, usually a software is 
2 type of printer thet is 


In order for a computer to communicate with a 
printer, both devices must understand @ common 
language, That common language is called ASCII 


(American Standard Code for Informaton tnterchange). 
Page number 239 of the TS-206d User menual gives the 


ASCIi Codes and calis them “The Character Set", 
Actually there are more codes in ASCII than the 
TS-2063 uses, and a few of the codes in the TS-2068 


CHR SET are not standard ASCil, but for printer 
control, the codes in the User Manual will suffice. 
So, we have the "common language", which is 


ASCII, The computer understands it and so does the 
printer, Now there are two jobs that the printer 
must do, One is to PRINT CHARACTERS, and the other 
is to SWITCH Its own modes of printing, To PRINT 
characters the printer must be able to receive and 
to respond rapidly to "streams of characters" sent 
by the computer, The charcters are processed by a 


"printer driver", a machine language software that 


is supplied by the manufacturer of the "PRINTER 
INTERFACE", Since the TS-2068 contains only a 
printer driver for the little TS-2040 printer, ALL 
interfaces for large printers are supplied by our 
Cottage industries, Some of these are "Serial 
Interfaces", but most are CENTRONICS PARALLEL 
interfaces, 

We will delay the discussiqof Serial (RS-252) 


January 1988 


interfaces until the next Issue of UP-OATE, For 
this discussion we will deal only with CENTRGNICS 
PARALLEL interfaces, and only with the OLIGER and 
AERCO Intertaces, These two "CPI" devices have 
become the dominant ones for the TS-206a, the most 
simple to use, and they use a minimal amount of 
computer memory for their printer driver code, In 
fact, the Disk Drive controller hardware contains 


the printer driver code in its EPROM, thus using no 
computer memory at all. These interfaces provide 
the electronics circuitry to process character 
streams and coded directions toa printer and to 
RECEIVE the "interrupt signals" from the printer. 
The software “driver code" is an extension of 
the  TS-2068 = ROM, =which lacks the Mouilt in 
instructions" necessary to send data and commands to 


the printer, While the Oliger and Aerco CPi 


interfaces are different in circuitry, the driver 
codes supplied with each can be used with the other 
interface, Now lets get to the two functions of 
these CPI interfaces, One function, and the most 


complicated, 
to the printer, Actually this is the most simple to 
use, <LPRINT> does it! You dont see the many 
complicated functions that take place, and you dont 
have to worry about It. 

The other CPI function Is to "Process Control 
to the Printer", to make it do such things as 
from Elite Style to Pica Style, Rol! up a 
Page, or the other mechanical functions that the 
printer does, The Interface uses "OUT PORT 127" as 
the communications path to the printer, and the patn 
back from the printer for "Interrupts", So, the 
"ASCII COMMAND" that a printer needs to do a desired 


is the processing of Character streams 


Codes 
Change 


function is sent "OUT through PORT 127", A typical 
direct command to click up a line space is <OUT 
127,109, "10 decimal” is the industry standard 
ASCIi CODE for printers to perform a LINE FEED, 


There are 32 “single character codes", 0 through 31, 
in the TS-2068 Character set that can be "sent out" 
in this manner. 

Actually there are 255 character codes that can 
be sent out to the printer, but only 32 can be sent 
out "without a character being printed", All of the 
other 223 codes will cause something to be printed. 
Example, <OUT 127,65> will result in the character 
"A" being printed. This is because ASCII CODE 65 is 
assigned to the character "A", and the interface 
data characters to be printed, Some 
printers use as many as 80 ASCII CODES to perform 
internal changes. For example, a Diablo Daisy Wheel 
printer uses ASCII CODE 79 to "SET BOLD PRINT", BUT 
<OUT 127,79> PRINTS a "0"! The solution to "sending 


processes 


printable ASCIt CODES" to the printer is to first 
send the "ESc COMMAND", 
The "ESC" code is "27", So, using the apove 


example, <OUT 127,27> then <OUT 127,65> will command 


11 


Progranming 


the Diablo printer to SET BOLD PRINT, The ESC code 


(27) telis the printer to "Expect a CONTROL CODE 
NEXT", Printer manuals vary as to how their CONTROL 
CODES are given, Most manuals have a table of 


control codes with numbers given in both HEXADECIMAL 
and DECIMAL, A typical such expression would be 


The first 


given in brackets as (1B,4D)H (27,77)0. 
group is given in Hex and the second group in 
Decimal, In this case, our TS-2068 command would be 
<OUT 127,27> <OUT 127,77>. Another way that the 
SAME command group could be presented is <ESC iM>, 
"ESC=27 and the Character Code of "HM" is 77", 

Still another way given in some printer manuals 


is <LPRINT CHRS(Z7)+M>, which isn't The correct way 
of sending such codes with the TS-2068, but can be 
intrepeted as OUT 127,27:0UT 127,77, So, with all 
of these different ways of saying the same thing, 
it's no wonder that printer manuals are confusing! 
Incidentally, that ONE command group is used by 
Epson printers to SET ELITE PRINT MODE, Command 
codes to perform a single function may be as many as 


six codes chained together, Example: (27,120, 1)D 
(155,120,1)D, The "D" for Decimal may or may not be 
present, That command group SETS HI QUALITY MODE 
for Epson printers, The command for the Aerco and 
Oliger CPI would be <OUT 127,27: OUT 127,120: OUT 
127,1: OUT 127,155: OUT 127,120: OUT 127,1>, quite a 
long group of OUTs to do just one switching 
function! 


Now its gonna get longer, because that group of 
six OUT commands execute in about 100 milliseconds, 
and the printer requires much more time than that to 
respond to. SWITCHING Software 
programming to Command the printer, we must 
have a "CHECK OF THE PRINTER STATUS" routine TO SEE 
If THE PRINTER 1S BUSY before sending a control 


commands, For 


lines 


code. When the printer is busy it places a 
interrupt signal on IN PORT 127, If the printer is 
busy then the software must wait until the printer 
is READY before sending the contro! code, The 


correct way to do this with the Oliger CPI is to use 
the loop given in the interface manual, which is 
<100 IF INKEYS #3="B" THEN GO TO 1002 <102 RETURN>, 
Then a control code group such as (27,45) would be 
programmed in a line as: <50 GO SUB 100: OUT 127,27: 
G SUB 100: OUT 127,45>, The line 100 will loop 
itself until the printer is READY, then the line 100 
IF condition will be FALSE and the RETURN will allow 
the next OUT command to execute, 

The above "INKEY$ #3" polls the IN PORT 127 for 
the bits used by printers to signal its status to 
the computer, But, this procedure requires a 
interface driver that processes the INKEY #3 syntax, 
If you use another type of interface you should 
check its manual for a PRINTER STATUS CHECK routine. 
The use of INKEYS #3 returns a "Improper 1/0 device” 
report when used with some other interfaces, If you 


January 1988 


get such a report code you can turn OFF the printer 


and type <PRINT IN 127>, Then use that nunder in 
the status check routine. My system produces 253 
when the printer is BUSY. iir, Uliger tells me tnat 


all bits of IN PORT 127 are not not controlled the 


His words ere 


same with al! models of the TS~2U68. 
quoted: "A program loop such as the example given 
(100 IF IN 127=253 THEN GO TO 100) (102 RETURN) 


should not be used and this is not how the printer 
interface manual instructs this to be done, This is 
the kind of thing that works witn one computer but 
not on another, because all of the bits on IN PORT 


127d are not used, and thus are floating. The 


function INKEYS #3 should be used for this purpose 
as detailed on page 6 of the Oliger Interface 
anual." 

Pardon me for digressing into the complicated. 
This is supposed to be a SIMPLE treatsie about how 


to clear the fog in printer manuals and CONTROL your 


printer with program lines, we will get back to 
that, Other interfaces such as TASMAN and AaJ use 
LPRINT CHR3 instead of OUT 127, — Many printer 
manuals express their EXAMPLE commands in this 
manner, LPRINT CHR3 27, as the ESC command, instead 
of OUT 127,27, Thats alright if you know how to 


intrepet such red herrings, The Oliger and Aerco 
interfaces just wont work with LPRINT CHR$, and must 
have OUT 127,number. 

To sum up: When ESC is given, it means OUT 
127,27, When is given as a 
command code, look up the ASCII code for the letter 
on page 259 of the TS-2068 User Manual and use the 
CODE When constructing 
program 
should 


letter character 


number as the command, 
lines to Command the Printer, each OUT 127 
be preceeded with <30 SUB> to the "STATUS 
CHECK" routine, which for the Oliger and Aerco CPI 
is <100 IF INKEYS #3="B" THEN GO TO 109> then a 
line <102 RETURN>, The line numbers can 

choosing. There Is no limit as to the 
“chained that 
Many printers require as many as six 
to perform one function change of 


fol lowing 
be of your 
number of 

program line, 
chained commands 


commands" can be in one 


the printer, 

You cannot use HEXIDECIMAL numbers in your OUT 
127 command, HEX numbers must be converted to 
not given in the printer manual, 
75-2068 User manual gives the codes in 
Printer control sequences 


decimal, if 
259 of the 
both Hex and Decimal, 
given in a printer manual, such as: (ESC * 0 2) must 


Page 


be intrepeted by looking up the codes for "*" (42), 
for "a" (79), for "2", (50), We know that ESC is 
2, So, the chained commands would be entered in a 
line as follows:  <500 GO 5U8 100: OUT 
127,42: GO $U3 100: OUT 127,79: 60 SUB 100: OUT 
127,50: RETURN >, GO SUB 100 would be to the INKEYS 
#3 routine to check the printer status, 


program 


Your printer and the software can both be OK, 


Programming 


but all you get is partial 
fap over onto the next line, because of improper 
printer switch settings. Most softwares completely 
contro! the printer and require that no MARGINS be 
set at the printer, tne auto PAGE ADVANCE be turned 
OFF, the printer LINE JUSTIFICATION be turned OFF, 
the PORPORTIONAL PRINT PRINT SPACING be turned OFF, 
and for letter size pages, the LINES PER PAGE 
setting at the printer should be 60 lines per page. 
Then the 
each other 


lines of print that 


software and the printer wont be fighting 

to control margins, character spacing, 
and page length. Let the software do the 
controlling, and let the printer be OUMB, just 
responding to "Simon Sez" commands given by the 
software, 

The printer switch that sets a LINE FEED with 
each CARRIAGE RETURN should be UN, Then a line teed 
will occur each time a line is printed, 
sent by the sotware each time a 
or the “partial last line" of a 


A Carriage 
Return command is 
line has printed, 


paragraph, Now this just about sums up "everything 


that anyone will ever need to know about Commanding 
printers with the Oliger and Aerco CP Interfaces", 
Next issue we will discuss @ RS-252 Serial 
Interface, In the meantime perhaps someone would 


like to sond in a treatsie about "printer commanding 
with the TASMAN CPI. Permission is hereby given for 
TSUG Clubs to make of this article or 
excerpts thereof, 


re-prints 


PRACTICAL USES OF SCREEN FILES 
= AND - 
DISK DEPENDANT PROGRAMMING 


1f 1 had to complain about something 1 would 
gripe about the 6912 bytes of disk space that is 
reguired to SAVE a Screen File. A whole screen, 
when full, contains 22 X 52= 704 characters, Of 
course there is much more to a displayed screen than 
just the places reserved for characters to be 
printed, but 6912 bytes? A program line that 


constructs a screen takes up quite a lot of our 


precious FREE Memory. The more a software can do, 
the more MENUS and screen displays are needed. 
Usually a well designed screen will cost about 


600-1000 bytes of FREE MEMORY, A software that has 
a lot of functions may need as many as a dozen such 
Menu and The FREE Memory used 
for a dozen such screens would be between 6 and 12K 


Information Screens, 


bytes, Look at FREE memory in another way. A full 
page of printed data fs usually about 3000 
Characters. So, 12 screens within the software 


programming costs us the memory capacity of about 2 
to 4 tull pages of data. 
Is it 


economical to spend 6912 bytes, times 


January 1988 


12=82944 bytes of disk space to save 12 screens and 
“boot the screens In when needed in a proyram"? You 
bet it isl! And, the SCREENS LOAD and SAVE is one 
of the most useful functions of a Disk Drive, The 
programming (SAFE) <1000 LOAD /"i"SCREENS> (AERCO) 
<CAT "1,SCR",> is al! that is needed to poring aboard 
a screen menu that would take up 1000 bytes of FREE 


Memory. 12 such lines of programming costs only 132 
bytes of FREE memory. We have a million K of disk 
space to waste, but every byte of FREE momory is 
like the last lick of a ice cream cone, How sweet 
it is! And who cares about a 6912 byte chunk of 
DISK Space? | remamember once testing the 
practicality of booting screens from Cassette, 
While the screen was loading in the grass on the 
iawn grew enough that it needed mowing! And | 
watched as a Cardinal built a nest, layed her eggs 


and the young birds learned to fly! Alt while that 


screen was loading from cassette. Well, maybe thats 


stretching it a bit. Anyway, <LOAD /"1"SCREENS> 
pops a menu on sereen in 2 and ono half seconds 
flat! Thats FAST and efficient! 


The "doing it" is too easy to talk about, You 


ust program your screen in the normal way with 
Prug y 


PRINT AT statements ina line of programing, But 
now you can let it all hang out and create a real 
beautiful screen with color changes, full words 
instead of abbreviations, and put nice borders 


around it, When finished and the screen is really 
beautiful, just BREAK, and type <SAVE/"1"SCREENS>, 
Next DELETE the program line, and re-enter the same 
line with 1000 LOAD /"I"SCREENS, Do this as many 
times as you have Menus and Display screens in the 
software, When 
more meaningful menus and you'll have saved enough 
FREE momory to add junctions to the 
program, 

Now what we have just done is to create a "Disk 
Dependant" software, It wont work without the disk 
drive, You are sacrificing a good bit of disk space 
to conserve Computer FREE Memory. 


finished, your program will have 


many more 


Later we will use 


disk space to store "Segments of tne Software 
itself", and MERGE these segments to the main 
program in memory as the program routines are 
needed, For example, suppose that you havea 
software that has a Data Base Manager, @ Word 
Processor, a Mail Merge, You have used a lot of 


programming for these three comprehensive functions, 
and have thus sacrificed FREE memory for DATA 
STORAGE. While you ore using the Data Base Manager, 
you really do not need the Word Processor nor the 
Hail Merge to be on board, 

function is 


So, when the ~—- SAFE. Merge 


implemented, we can have our cake and eat it too, 
Software programs can be segmented so that only tne 
be in memory, The 


functions will be on stand-by in diske 


major function that we need will 


other major 


13 


TIMEX CLUBS OF NORTH AMERICA 


Following is a list of Timex Clubs of 
North America, A few may be missing and 
Will be published as information is 
recelved. Some of these clubs publish 
excellent newsletters that are worthy of 
subscribing to, For those clubs that may 
be Interested, Up-Date Is willing to 
publish a "Club Edition" that consol odates 
Inputs from _— participating clubs, if 
sufticlent Interest is forthcoming. 
Suggestions will be welcomed. 


S.€. Michigan Group Torento Canade Group 

Box 614 PO Box 7274, Stn A 

Warren, Mi 48090 Toronto, Canada MSH 1X9 
Nowsl otter 

6.U.T.S, Group San Francisco Area 

6625 Clifford Orive PO Box 1312 

Cupertino, GA 95014 Pacifica, CA 94044 
Newsletter 

Konsas Area Users North Carol Ina Group 

4557 Cherry 206 James St. 

Wichita, KS 67217 Carrboro, NC 27510 

TAS BAK Usor Group Milvaukee User Group 

PO Box 48961 5052 N, Gist St. 

St Petersburg, FL 33743 Mi tvaukee, Wi 55225 

Nowsl otter Nowst etter 

TSUG of Philadelphia Sun Lake Group 

PO Box 53490 1200 Lake Drive 

Philadelphia, PA 19105 Grand Island, FL 32735 

Westmoreland TSUG Vancouver Group 

PD Box 3051 2006 High View Place 

Greensburg, PA 15601 Port Moody, BC V3H INS 
Canada AY, 

Vashon Isi User Group coals 

PO Box 199 1419 1/2 7th Ste 

Yoshon, WA 98070 Oregon City, OR 97045 
News| etter 

Mite High NE Florida TSU 

914 S. Victor Way 6634 Orlole Ave. 

Aurora, CO 80012 Jacksonville, FL 33216 
Nows! ot tor 

Hampton Roads TSUG of Orlando 

112 Kohter Crescent 808 E. Anderson St. 

Noxport News, VA 23603 Orlando, FL 32601 

Nows letter 

Sincus Nows STUN. 

1229 Rhodes Road Rt. 1, Box 21 

Johnson Clty, NY 13790 Glade HiIl, VA 24092 

News latter 

LST. 


10 Idle Way Drive 
Center Polnt, NY 11721 


News! eter 14 


Following Is 


Hardware for the TS-2068, 


TS-2068 SUPPLIERS 


a listing of Suppliers of Software and 


There must be more, and Up-Date will! 


publish additions to this listing as Information is obtained. 


[At Computer Response 
220 Cantre St. 
Sullivan, NH Os445, 


APR Softvare 
1606 Panaaylvania Ava. #208 
Mien! Bosch, FL 33139 


herco 
Box 18093 
Austin, TX 78760-8093, 


28 Mlero 
PO Box 280298 
Daltos, TX 75228 


Bost cally Programming 
2528 W. Olive 
Fullerton, CA 92653 


Beaver Computer Products 
756 Fleming Avo. 

Winnipeg, Manitobe RIK 1¥3 
Connda 


Bob Cracco 
1627 Dowoy Ste 
How Albany, 147130 


Byte Back 
PI, A, Box 34 
Lossvi ts, SC 29078 


Byte Powor 
1748 Hondowviow Avo, 
Pickor ing, Ontarto LIV 368 
Conada 


chat Chl Chao 
73 Sullivan Drive 
Mocago,0A 94555-1208 


Curry Computers. 
PO Box 5607 
Glondale, AZ 05312-5607 


Quantum Computing 
Po Box 1200 
Dover, NJ 07801 


AMG Entorprisos 
W419 172 71h Ste 
Oregon City, FL 97045 


SAK Entarprisos 
2107 SE 155th 
Portland, OR 97233 


Sharp's Ince 
RY 10, Box 459 


Mechanelavitie, VA 23111 


Stnel Ink Coe 
6615 Clifford Drive 
Cupertino, CA 95014 


Cryahoga Valley Software 
615 Schoo! Ave. 
Guyahoge Fatts, OW 44221 


Dan Elliott 
PR=1, Box 117 
Cabool , MO 65689 


Foote Software 
PO Box 14635 
Gainesville, FL 32604 


6, Russell Electrontes 
RU-1 Box 539 
Centre Natt, PA 16828 


Gray & CIN Ford Computer 
PO Box 2186 
Inglewood, CA 90305 


Gulf Mlero 
1317 Stratford Ave. 
Ponnmn City, FL 32404 


Heath Computer Sorvicos 
980 E, 52 South 
Greentown, IN 46956 


Herb Bowers Sr 
2508 Woodshire Clr 
Chasapeako, KA 25325, 


URC Software. 
PO Box 44a 
Scottsburg, 14 47170 


deck Dohany 
390 Ruthoford Avo 
Redwood Clty, CA 94061 


Jamaco Electronics. 
1355 Shoreway Rd, 
Botmont, CA 94002 


Sincpac Software 
5206-1 Cedarbend Dre 
Fort Hyars, FL SS907-7514 


Sirus Wore 
6 Turning MINT Roy 
Lexington, MA 02175 


Sunset Electronics 
2254 Veraval St 
San Franctsen, CA 94116 


The Of iger Cox 
11601 Whidbey Ori ve 
Cumbertand, IN 46229 


Thoras B, Hoods 
PO Box 64 
Jefferson, NH 03583, 


Joho Mathewson 
1852 Applaford St. 
Gloucester, Ontarto KN 614 


John McMichael 
1710 Pairar Drive, 
Laramia, WY 82070 


knighted Computers 
107 Mightend St. 
Fulton, NY 15069 


Lorken Electrontes 
mz 
Noven, 
canada 


Ontarto KAB IND 


Mark Le Fendelck 
PO Box 2392 
Secaucus , NJ 07004-0992 


Markel Enterprises 
PO Box 2392 
Secaucus, NJ 07094-0992 


Hota Modle 
726 W. 17th 
Vancouver, BC YSZ 119 
Cannde 


Hountal nesr Software 
AQ HII St 46 
Parkersburg, NY 26104 


Movelsoft 
35 Candle Litevay 

Ki Nowdnle, Ontario Ma 345 
Canada 


Paul Bingham 
Box 2034 
Mesa, AZ 85204 


Poriphorals Direct LTO. 
PO Box 4301 
Northbrook, TL 60063 


Yorloty Sales 
325 W, Jersey St. #20 
Ell zabeth, NJ 07207, 


WA) Data Systoars 
A Buttactly Ortve 
Hauppauge, NY 11708 


Wyatt Cor pe 
Box 5904 
Bal} inghom, WA 98227-5904 


Zobea Systons 
78-08 Jamalce Ave, 
Woodhaven, NY 11421 


Articles and Reviews January 1988 
The TS-2068 DISK DRIVE SYSTEMS 


Combinations to Achieve Increased Capabilities 


OWNER'S Basic —> Plus —» Additional >. EQUALS Additlonal Capabl litles 
Disk System Device 


Oliger SAFE 
Disk System 


Plus — 9 SPDOS Disk ———————-——-» Ol ger SAFE DOS + RAMEX DOS Formats 
Software Two Simultaneous Disk Operating Systems 


Oliger SAFE 
Disk System 


Plus ——-y LARKEN SKDOS ————_______» Oliger SAFE 00S + Larken DOS Formats 
Cartridge Two separate Disk Operating Systems 


Larken Disk 
System 


Plus —> Oli ger SAFE —————>_ Larken DOS + O!lger DOS Formats 
Board A Two Separate Disk Operating Systems 


Larken Disk 
System 


Plus ——» Aerco FD-68 —___________-» Larken DOS + Aerco DOS 
Disk System Two Separate Disk Operating Systems 


Aerco FD-68 
Disk System 


Plus —— Aerco on-board —————————» Two Disk Operating Systems (RP/M + Aerco DOS) 
Extra Memory Extra Memory banks for programming 


Aerco FD-68 
Disk System 


Plus —» Larken SKDOS —______» Three Disk Operating Systems 
Cartridge (above, plus Separate Larken DOS) 
Plus RAM DISK If Extra Memory present on FD~68 


RAMEX Disk Not aware of possible —__________-» RAMEX SPDOS Operating System 
System Combi nations RAMEX Disk System Is no longer supported 
. by @ manufacturer, 


TOS (Zebra) 
Disk System 


Not aware of Possible s——— TOS Disk Operating System 
Combinations TOS Disk is no longer supported 
by @ manufacturer. 


All of the above Disk Systems are compatable with Cassette LOAD and SAVE operations, 
Cassette Is the "Transfer Medium" to SAVE programs that are formatted by any disk system; then 
re-load to the TS-2068 that has a different disk controller Installed; then EDIT the program 
lines and MODIFY the DOS SYNTAX; then SAVE to Disk with the DOS that is In use. The Computer 
must be turned OFF ‘to transfer from one Disk System to another, There are two exceptions to 
this, The Oliger SAFE and SPDOS software combination provides two DOS systems Co-resident, The 
Aerco FD-68 Disk System has Aerco DOS and RP/M Co-resIdent. 


7 


Arvicies and Reviews 


SPDOS for North America 
lan Robertson 


SPDOS was originally marketed in the Uk by WATFORD ELECTRONICS 
as a disk interface and operating system. KEMPSTON (the joystick 
interface peogie) later aarketed a version which used a saaller 
anount of RAM, approx. 700 bytes (Watford used about Sk). A 
varient of the SPDOS interface was marketed in North America by 
RAMEX INTERNATIONAL LTD. and known as the MILLENNIA K. This is 
the system that in 1985 introduced ae to the wonders of a disk 
systea (later to be followed by the OLIGER, LARKEN, BETA PLUS, 
KEMPSTON and finally the CUMANA). The SPDOS presently being 
tarketed by the CUYAHOGA VALLEY SOFTWARE WORKS is a aodification 
of SPDOS for the 2048 running on Dliger hardware, It is sald 
under license from ABBEYDALE DESIGNERS L7D., who wrote SPDOS. As 
a aatter of fact, the amount paid (by CVSW) to Abbeydale is a 
large portion of the selling price. This group has not written 
this software to sake money, but rather to help extend the life 
of our coaputers. The DOS operating system is available on two 
5.29 iach disks, for either 40 track DSDD or 80 track DSB 
drives. 


The first disk is an Dliger disk with a “boot* that replaces 
sone of the hardware of the Millennia K interface. The second 
disk is the “SPDGS Systea™ disk. 


HOW IT WORKS: 


SPDOS is a RAM based 0S. Because of that it uses several K of 
RAH and can be run concurrently with the Oliger DOS (which uses 
no RAM) in operation. Certain SPDOS comaands are read froa disk 
and the system disk should be in Drive #1 (Oliger drive #4). 
Since SPDOS is also compatible with the Nillennia K systes, it 
works only in the 2048 aoda, Disks which were written on the 
Rawex system can be read and written to, However these disks 
should be considered as Data disks (disks without the operating 
systes on thea). 


The DOS occupies memory froa 58500 to roughly 63500. It supsorts 
sequential files and prograa overlays. The overlays are progras 
segaents with line nuabers that are loaded in froa disk 
replacing existing ones, aaking seeory use gore efficient and 
adding structure to the prograa, 


The DOS is as fast as the Oliger in Loading and Saving. SPD0S 
allows 144 directory entries per disk and uses a ainigue of 1K 
for a file. 4 formatted 80 track drive will have aproxigately 
785K of space free to write to, Each SPDOS track is organized 
into ten 512 byte sectors. SPDOS supports commands like MOVE, 
ERASE, and will autorun prograas naged "AUTO' when the systea is 
Booted up. It has the ability to perfom a selective CAT. All 
SPDOS commands must be prefixed by the command “PRINT # 4:*. 
Other coagands are used in the noraal way. Those of you using 
the latest version of the LARKEN disk interface will recognize 
this syntax. 


co 


January 1988 


Several utility prograss are included: SYSCOPY which will back 
un SPDOS, COPY which will assist in selectively copying disks, 
ERASE which does the sae for erasing files, MINIDOS a truncated 
DOS located at 49644 to 93600, and MAIL/BAS a deacnstration data 
base. 


The SPDOS systes should be considered an enhancesent to the 
Dliger Safe Disk Operating System rather than a replacegent. It 
will be of the ost use to people who write a lot of their own 
prograas, and those who have a Millennia K syste or know users 
who do as it adds a certain amount of compatibility to the 2068. 
For exaaple, Raaex aarketed 2068 disk versions of MASTERFILE, 
TASHORD I and OMNICALC. This software should allow these 
prograas to be run on the OLIGER disk systea, but I an not sure 
about the ability to print, using an 80 coluan printer, The 
RAMEX system is compatible with the TASMAN C centronics 
interface, while the OLIGER is compatible with the OLIGER/AERCO 
centronics interface. 


WHERE TO BUY IT: 


The cost is $24.95 + $1.50 for postage and is available only 
froa the CUYAHOGA VALLEY SOFTWARE WORKS, G15 School Ave., 
Cuyahoga Falls, Ohio 44221. 


2068; Larry Kenny of LARKEN ELECTRONICS has done 
it again! He has preduced a disk interface cartridge, that 
plugs into the cartridge port, which turns your RANEX interface 
into a LARKEN interface. And it works! It comes with the pits 
on a 2744 Eprom and the FORMAT software on tape, The FORMAT 
programe is loaded into the computer and after configuring it 
ta suit your (up to 4) drive systes, it loads itself to disk. I 
have tried it on both SSD 3* and 3 1/4" DSQD drives, without @ 
problea, The LARKEN extended basic commands also work on ay 
RAMEX hybrid. Now for the interesting part ~ the cartridge does 
not have to be resovec from the cartridge port when the RANEL 
DOS is used AND by switching off the RAMEX DUS eoron, the RANEX 
doas not have to be modified in any way. 


Profile of the Author 


Mr, lan Robertson is the Llalson Officer for 
the Toronto Timex Sinclalr User Group and a regular 
writer for thelr fine publication "Sinc Link", lan 
has every conputer that bears the Sinclair name and 
is current on all, Despite pressures of business 
family lan finds time to contribute his 
knowledge, We lock forward to his future article 
about SPDOS, The QL, and other items of Interest. 


and 


Articles and 


LARKEN OSK400 DISK OPERATING SYSTEM 
A review 
by G.F. Chambers 


Larry Kenny has come out with what in effect is his | 
third generation disk interface system. Possibly one! 
should say his 2nd generation, since it could be said: 
that the first generation had two phases. u 

Lets review the background: ; 

The first system was based on an EPROM OOS (which ; 
was bank-switched into the 63488 area of memory), plus 
several disk DOS's. The second phase of this first 
system provided a cartridge DOS which was bank- 
switched into the ROM area of the computer (when disk 
functions were required), and eliminated the need for 
the EPROM- and disk-based 00S's. The cartridge also 
provided several supplementary features not available 
on the intial system. This system was confined to the 
use of two DSOD drives, and formatted disks to a 160K 
capacity and maximum of 50 files. 


The new system, the DSK400, subject of this review, 
consists of a cartridge board very similar to the 
original, plus a new interface board. The new inter- 
face board measures about 6 inches by 2 inches, and 
mounts horizontally behind the computer. A ribbon 
cable for the drive plugs into a connector at the 
right-hand end of the board. At the other end of the 
board are an NMI button and a 9-pin joystick 
connector. Possibly the unit could fit into an empty 
Memotech or Gladstone 7X81 64K RAMpack case, The board 
is equipped with a gold-plated female connector with a 
tinned male through-connector, for adding other 
peripherals. Four of the nine chips on the interface 
board are socketed. The quality of the board is very 
high. 

The system can handle a variety of drives, up to a 
maximum of four, It is said to be capable of handling 
3", 34", and 54" (not 8")single or double sided drives 
in single-, double-, or quad density. I have only 
tried it on a SA455-type 54" crive in the OSOD mode. | 
In this mode disks can be formatted to hold just over 
400K. 

The sytem uses 211 the familiar Sinclair commands, 
including CAT, ERASE, LOAD, SAVE, MERGE, OPEN #, CLOSE 
#, FORMAT ,also GOTO and PRINT. All disk commands are 
prefaced with PRINT USR 100: or PRINT #4: 


The system is compatible with the 2068 and the 
Spectrum mode. A Spectrum EPROM can be mounted on the 
cartridge and switched in with a short BASIC command 
from the 2068 mode. It has an AUTOSTART mode, by which 
you can boot a program into memory by holding the 
ENTER key operated while powering up the computer, 
Only one program per disk can be handled this way. I 
usually make this a MENU program to select the program 
that I want from the disk. This AUTOSTART program can 
be used to automatically boot the computer into the 
SPECTRUM mode from a cold start, and produce the menu. 


oops? Ne F 


Reviews 


“writing to them in proportionally 


January 1988 


With an appropriate EPROM DOS the cartridge is 
also suitable for use with several other disk systems, 
such as the AERCO, RAMEX, OLIGER; improving the 
performance of these sytems significantly. It can also 
be used with the 0S-64 and LROS cartridge chips, by 
mounting them on the cartridge board. 


A program to format disks is supplied on disk, 
along with a program to facilitate copying disks using 
two drives, The FORMAT program will format disks as 
either double or single sided, and to 40 or 80 track 
density. 


Programs can be saved (and loaded) with all the 
command forms used with tape, as for example:: SAVE 
“progrm.81", SAVE “progrm.81" LINE 100, SAVE “prog.Cl" 
CODE start, length, SAVE “progrm.Cl" SCREEN$, SAVE 
“progr.Al" DATA (), SAVE "progr.A$" DATA $(). 

Programs can be removed from the disk using the 
ERASE command. Tracks so erased become available for 
subsequently saved programs. 


The NMI (snapshot) button means that you can 
capture to disk those unbreakeable programs on tape. 
Simply load your program, press the NMI button and the 
program will be transferred to disk. It captures the 
complete memory from address 22490 upwards, and uses 9 
tracks of a disk. Loading one of these programs from 
disk takes just under 7 seconds. A disk can hold 8 of 
these programs, and have 7 tracks spare for menu, etc. 


Programs such as Tasword, Timachine, 
Mtermll are readily modified to run on the 
system. Mscript with Jack Dohony's mods 
similarly adapted. 

The joystick port accepts the 9-pin connector 
standard on joysticks, and works with those programs 
which are provided with the Kempston joystick option. 


Pro/file, 
OSK400 
can be 


The DUMP.B1 and COPY20.81 programs supplied on disk 
with the system use a modified disk DOS which can be 
used from BASIC programs to control the drive 
cperation. This means that disk utilities can be 
written in 8ASIC to perform a variety of tasks, 
similar to what has been done with the earlier LARKEN 
systems, Typical of this are three programs which I 
have modified for the OSK400, They are a RENAME 
program ,which will rename programs on disk; DOCTOR 
with which one can inspect and repair errors on disk 
tracks; and INDEXER which maintains a file of prograns 
on a disk collection. 


The DSK400 includes a number of Extended Basic 
commands. These permit the placement onscreen of up to 
three "windows" of any size, colour, and position; and 
spaced characters. 
Also there is a set of 7 graphics patterns which can 
be called up as desired to fill areas of screen. A 
CIRCLE command will fill in selected areas of the 


10 


Articles and Reviews 88 


screen with a selected pattern, INK and PAPER commands 
will instantly change paper/ink colours. POKE will 
poke numbers higher than 256 into two addresses 
automatically. 

There is buint-in printer driver software by which 
a large printer may be used, making use of the LLIST. 
and LPRINT commands, This feature is accessed by the 
command: PRINT #4: OPEN #3,"Ip". A drawback to this 
feature is that 1 found it impossible to control line 
length; if there is a control, I could not find it, As 
a consequence I found my printer putting out lines 
with 108 characters in them. 

Final Conclusions: An easy-to-use system which will 
greatly enhance the use of the TS2068, Highly 
recommended. 

Available from: Larken Electronics, R.R.#l, Navan, 
Ontario, Canada K48 19 Price for interface board, 
cartridge board and drive connector cable: Can $145, 
(You will also need to purchase the disk drives and a 
power supply for them) 


The LKDOS Cartridge 


In addition to the Larken Disk system that is 
reviewed above, there Is another Larken development 
that deserves mention, It Is the LKDOS CARTRIDGE, 
which contains the Larken DOS and operates with two 
other Disk Controllers for the TS-2068, The LKDOS 
Cartridge plugs into the Cartridge Compartment of 
the TS-2068, When used with OLIGER SAFE Disk 
system, Board B of the Oliger systemis removed. 
Then the LKDOS cartridge utilizes the Ollger disk 
controller board as the controller. The result is a 
LARKEN DOS System ‘that formats and reads disks In 
the Larken format, and hes all of the Extensions to 
Basic as discribed in the above review. 


The LKDOS Cartridge can also be used with the 
AERCO FD-68 Disk Controller. The LKDOS uses a 
Separate EPROM for use with Ollger or Aerco disk 
controllers. The results are the same, 2 Larken 
DOS, When used with Aerco FD-68, the built in extra 
memory of Aerco Is used as "RAM DISK", This unique 
feature "formats" 40K banks of RAM as if the RAM 
were anther disk drive in the system, A 256K Aerco 
Ram Is used as If It were four more disk drives, 
each having 4@K of storage. The Ram Disk Is 
somewhat faster operating than a disk drive, but of 
course, the data storage Is gone when you turn off 
the computer. 


Before using the LKDOS cartridge with the Aerco 
FD-68, a small modification to the FD-68 is required 
to add a switch, Detalls are given in the Larken 
documentation. No modification Is needed with the 
Ollger Safe Board A, Please refer to the article In 
this issue titled "The TS-2068 Disk Drive Systems" 
for more information about the use of the LKDOS 
cartridge. For further Information write to Larken 
Electronics, address given In the above review. 


it 


larksa diss ayatem for the Tisex 2068 ts fully § 
ible and alas can be used with Aros or Lros cart 
pports all token keyvords = CAT, ERASE,LOAD,SAVE,MERGE, 
;CLOSES and algo GOTO and PRINT that ware iatended to be 
With a external sass storage device. FORMAT and MOVE are 
supplied aa programs that run {n ras. 

these commands are Laplinested by the Larken systen ia 


aster typiag and a ahortar coasand tha PRINT #4: comsand 
used {natead of Rand Usr 100:. To use PRINT #4: you aust 
firat Open Channel * to tne diskerive with ~ 

dd” 


RAND USR 101 
You cag nov or commands with 
PRINT #4: 


Te the Print it has been 


use 
taltialiiads error O> Invalid Stren will Perit. 


LXDOS File Kanes 


Ledoa command and & 


name up to & 
characters followed by a tva . tents A period 
Aeparates the prograa nase froa the extension. The first 1 

SPPihe Skeansion fella the doa vast typeof file it ia fe must 


sic 'G* for Code 
eteaaicn can be any character exept, 
co 


ig you are saving a string 
Tau extension aust be tve charactera Loag. 


The only character that can’t be used {a a file nage fs 2 'T'. 
This 1s ised ag a ‘wildcard’ character for use in CAT searches. 
Some exaaples of file a 


A Basic prograa 


zeus.Cz” A coda file 
Names. AS A String Array 
Nambea. AL* A Museric Array 


SAVE, ComMAND'S 
to the disk, your 
up and foraatttag) 
la or expression coasand can be used. 
ea: PRINT #4: SAVE af (To 6)°7.CT™ CODE Start,Ead~Start 
All vartationa of cassette comsanda are supported. 
SAVE “Prog.31* = Baste prograa 
og. 81° LINE 100 Basic Auto run 
VE “Prog. Ci* CODE start, length 
SAVE “Prog.Ci* SCREENS 
SAVE “Prog. AL" DATA O 
SAVE "Prog. AS* DATA 3.0) > String Array 
Before saving sake aure that the write protect aotch oa the 
diak {a not covered by a protect sticker and that the disk Ls 
ia the drive properly with the deor closed. 


EXTENDED BASIC COMMANDS : 


of extended graphic, additional Print 
and up to 3 acroiliag windowa on the 
spaced characters. (42 to over 80 charac 


4a proportional 


GRAPHIC COMMANDS: 

= PRINT #4: DRAW width,heigth,pattern (This is a versatile 

Bex £111 or clear conaand that atarts at the last plot command 
user defined 


patters that consists of 
“PRINT #4: CIRCLE x, y,pat 
comand that filla from right to left, 


until it fads a set pixel) x7 
= PRINT #4: INK x (iamediatly chan, 
PAPER x (Lamadiatiy ch paper celer oa ser: 
(hia does a double poke for 16 
$595 


= PRINT #4: OPEN gn 7 This attaches a channel to & 
Glaplay device. (a can Be chanel 2 to 15) device can be “wO", 
Sim, tw2" (viadoy 0 ta 2) or “Ip” (large printer ‘arco type 


tn 
Used for closeiag chance 
never use the Siaciar 
ivitch) te cleas « chaana! opased by Lkdoa) 
“PRINT 44: INPUTH (window! top left poayright pos botton pos 
This conmaad defines a viadova atze, positica and color. 
window" is 

in absolute 


This ts 
hove command. Note~ 
preceeded by Lkdes 


The screen colora that are beiag used vhen the viidow 1s defined 
will atay with that vindov. 

= PRINT #4: CLEAR v This vill clear the wiedow (0-2) and 
priat pea to the top of the wiadew . It will also 
Wiadew. 


Profile of the Author 


Mr, George Chambers Is one of them "rotating 
officials", always Involved In the Toronto TSUG, and 
now the club Secretary, George contributes a 
regular column In "Sync Link" about the Larken Disk 
system and other subjects. If it can be done with 
Larken, George knows how to do it. We look forward 
to other articles and programs by George, 


Articles and Reviews 


A Review By: 


Mr. John Ollger has now finished "phase 4" of 
the JLO SAFE DISK Operating System, which | have 
dubbed "So0S", This review will attempt to glve an 


overview of this versatile hardware and DOS, J 
believe that even the users of SAFE may glean somo 
new information, First, the hardware Is designed to 
the "SHUGHERT STANDARD!" which means that It conforms 


to an existing standard for FORMAT and CONTROL of 
Double Oensity Soft Sector Disk Drives. Several 
types of drives are usable with this system 


Including; 5 1/4 inch Hatf or Full helght, Single or 


Double! Side format; 3" Disk Drives by Amdek, and 
sone newer 3 1/2" disk drives, The key as to 
compatability is whether the drive Is "SHUGHERT 
STANDARD", 

The Oliger SAFE hardware consists of two 
circult boards that fit up-right In the Ollger 
Expansion port, This expansion port has four slots 


and a extruding edge card connector to accommodate 
other add-on devices, It also contalns a "RGB 
INTERFACE" to connect to a RGB Monitor, "BOARD A" 
of the system contains the heart of the disk 
Interface, the Western Digital Controller chip 
WS-1770, and Its Interface circuitry, "BOARD B" of 
the system contains 16K of extra memory. 8K isa 
EPROM that contains the assembly code of the 
operating system, some new BASIC Language functions, 
and a Centronics Printer Driver Software. The other 
8K Is RAM that Is used for Instruction processing of 
the new Basic Language and the Disk Control asic 
Commands. 


One should think of the Oliger Safe Disk System 
as the centerplece of a larger system that Includes 
the Printer Interface, the Disk Controller, Extra 
Menory, Additions to the TS-2068 ROM, RG8 Monitor 
Intertace, and a "Control System" thet Includos 
contro! of , the printer, Extra Memory, and the Disk 
Drive, The Extra Memory Board has not yet beon 
released. "SDOS", the controlling software has been 
@ on-golng development since the SAFE DISK hardware 
was released during the winter months of 1986, Each 
stage of development was made available to the users 
In a Up-Dated EPROM. The latest EPROM carries the 
Identication of "V2-40", For the user to up-date 
his system Involves only tne replacement of the 
EPROM that Is In use. 


As of the 8K EPROM Is almost completely 
filled with assembled code, and unless Mr. Olli ger 
decides to piggy back another EPROM, It appears that 


now, 


January 1988 


GER_TS-2068 SAFE DISK SYSTEX 


Bill Jones 


the SOOS 
Note the 


state, A table of 
listed below. 
regular TS-2068 Cassette 
instructions for easy learning, Also note the 
brevity of the command syntax (fewer key strokes). 
All of ‘these commands can be performed by Keyboard 
entry or from within program lines. Disk file 
"titles" can be concantated as, LET AS="Title", and 
then use AS as a title within the disk command. Or, 
LET AS=AS#STRS 5> and the program title to SAVE or 
LOAD would be "Titles". 


S00S fs in a finished 
Language Syntax Is 


similarity to the 


THE SDOS COMMAND SYNTAX 


FORMAT/*name" A diskette is formatted to 
established parameters with title of "name". 

CAT Loads the disk directory to screen, CAT 
can be used with a Input statement to place a prompt 
‘on screen to Input a title to LOAD. 

MOVE/ Copies a diskette from current drive to 
the next drive In the system. 

MOVE/"title" and type T0.n Moves a file named 


title’ to disk a, The type of file Is VAL, 
SCREENS, DATA, ABS, or If left out, a BASIC file Is 
assumed, 

SAVE/0 Saves a auto loading menu program, 


Then LOAD ENTER will load the file 0 program, 

LOAD ENTER Loads a file 0 auto running menu 
program, 

SAVE/"name" Saves a BASIC program to disk. 

SAVE/"name"LINE n Saves a BASIC program which, 
when re-loaded will auto run at line a, 

LOAD/"name" Loads a BASIC program 
"name", The progranputo runs if It was saved with o 
starting !1ne number. 

SAVE/"name"CODE ,adr,byts Saves a machine code 
table from memory address and byte length specities. 

LOAD/"name"CODE adr Loads a code program from 
disk to starting memory address speci fied. 

SAVE/"name"VAL Saves the TS-2068 Varlable file 
to disk. 

LOAD/"name"VAL Loads a Variable file from disk 
to memory. 

SAVE/"namo"SCREENS 
screen to disk, 

LOAD/"name"SCREENS 
and replaces the existing monitor screen. 


named 


Saves the existing monitor 


Loads a screen from disk 


SAVE/"name"DATA xQ) Saves a dimensioned 
Numerte array to disk, 

LOAD/"name"DATA xt) loads a dimensioned 
Numeric array fromdisk, 

SAVE/"name"DATA = xS() Saves a dimensioned 


12 


Character array to disk. 

LOAD/"name"DATA = x$() Loads a dimensioned 
character array from disk and assigns the data to 
"xSte é 

SAVE/"name"ABS Saves the entire state of the 
computer as a BASIC program, including all vars and 
all code, 

LOAD/"name"ABS" 
Computer BASIC program. 

COPY/ Copies the screen to printer, 

MERGE/ "name" Merges a BASIC program and 
appends It to the existing BASIC program in memory. 
Variables of the MERGED program take priority. 

All of the above SAVE commands will check for a 


Loads the above State of the 


identical named program in disk and TOOT a warning 
if one exists, then pause 5 seconds to allow an 
abort, 

SAVE//"name" This variation by-passes the same 


name check and SAVES the program whether a same name 
exists or not, 

RESTORE/"old name" type TO "new name" 
the name of a program in disk. 

RESTORE/S Re-initializes 
TURN ON parameters. 

VERIFY/"name type" Checks 
verifles accuracy of the file data, 

DISK DRIVE CONFIGURING COMMANDS 


Changes 
the SD0S system to 


file in disk and 


LET/s=1 or2 Sets up to FORMAT a diskette for 
either single or double side read-write. 


LET/d=0-3 Changes active disk to disk number 
specified. 
LET/t=10-250 Sets up to FORMAT a diskette to 


the number of tracks specified, 
default value is 40, 


Range is 10 to 250, 


LET/h=0-3 Resets disk head step rate to 
accommodate a slower drive. Default value is O=6ms, 
l=12ms. 2=20ms, 3=30ms, 

LET/p=o Selects the printer driver code 


software that is stashed In the EPROM to print with 
a Centronics printer. 

LET/p=t Deselects the Centronics printer and 
selects the TS-2040 printer. 

The NMI_PUSH BUTTON FUNCTIONS 

ABS STATE SAVE via numbered keys. The title of 
the SAVE will be the number pressed. 

SCREENS SAVE via keys Q through T on same row 
of keyboard, The title will be the key pressed. 

COPY SCREEN to Centronics Printer via press of 
key Ze 

BREAK to BASIC via press of key C. 

RETURN TO INTERRUPTED PROGRAM via the ENTER 
key. 


Holding the key "N" (for NEW) while pressing 


NMI button causes a 
display. 

Holding keys 1 through 3 upon power-up selects 
the Disk Drive number to be active (instead of Drive 
number 0). 


system RESET to copyright 


JLO SAFE puts more data into a diskette than 
does most other disk control systens, 405K as versus 
360K for a IBM system for example, A 80 track drive 
formats for 815K maximum, In addition S00 is 
likely the fastest disk system in existance for data 
SAVE and LOAD to and from Disk, faster even than the 
18M XT, Which brings up a point to discuss, Often 
the question arises; "Does it have Sequential File 
SAVE and Append?", The answer to that is, "No, such 
a group of functions are not needed, and would not 
be used If provided with this fast disk system", 


Opening and Appending a existing file in disk 
is a function created to mitigate the deficiencies 
of some computers, For example, the C-128 and some 
other computers fimit string and character array 
content to 255 characters, too little to contain 
paragraphs of textual data. The only way to SAVE 
textual data to disk with-such computers is to use 
counters to save the data in small! "line length” 
groups to disk, and keep on OPENing the disk files 
+o APPEND the text files as additional data is being 
generated, Each (PEN and APPEND action takes tens 
of seconds of time, with SDOS, wo SAVE a Character 
array of data as large as 25K in three seconds flat. 
If ‘we want to APPEND It, we bring it back into 
memory (three seconds) and append it at will 


A review can never do justice in such limited 
system such as the SAFE 
The literature supplied 
How can 


space to a comprehensive 
DISK Controller and SDS, 
with the system is about 80 pages of type. 
that be boiled down to a couple of review pages? It 


can't, so one should realize that this review is 
just a “overview of the system, The manual 
suppiled is written for the kit builder and it goes 


into much more detail than one normally would expect 
of a user manual, giving theory of operation, 
testing instructions, and operating Instructions, 
The manual Is an outstanding reference for both the 
builder and the the user who buys the system 
assembled and ready to use. 


COMPATABILITY WITH OTHER TS-2068 HAROWARE - 
SOFTWARE: 
decoded and 


Since the Safe Disk system is fully 
does not use the TS-2068 RAM, there is-» 


Articles and Reviews 


no hardware or software that this system 
conflicts with, | Safe Disk operates with TS-2068, 
75-2068 with Spectrum Switch, either in the TS~2068 
or the Spectrum Modo, and with the Zebra 0S-64 
Cartridge. No software conflicts exist, 

OLIGER SAFE USED WITH THE LARKEN SkDUS 
CARTRIDGE: Board A of the SAFE system is the disk 
controller, When Board B is removed, and the Larken 
SKUOS Cartridge is installed, the system becomes @ 


LARKEN DOS. Then the diskettes are formatted to 
larken format and diskettes recorded with Larken 
disk systems can be loaded and operated, See the 


review of the Larken Disk system in this issue, 


OLIGER SAFE 
This software 


USED WITH 
on disk is 


THE SOFTWARE "SPDOS", 


supplied by Cuyahoga 


Valley Software Works, 615 School Ave,, Cuyahoga 
Falls, Ui 44221, ($24.95 + $1.50 postage), The 
SPOOS Disk provides the RAMEX DISK OPERATING SYSTEM 


"in addition to 
disk operating 


the Oliger S00S system", The two 
systems are combined to have almost 


all conceivable disk command functions, Moreover, 
when the SPO0S software is loaded, diskettes 
prepared by a RAMEX DISK system will load and 


operate, The SPDOS Disk is highly recommended for 
all Oliger Safe users. 


FOR THOSE WHO WANT EVERYTHING, the Oliger Safe 
system, with Larken SKDOS Cartridge, and with the 
SPDOS Disk Software, gives the user three disk 
operating systems and the capability to use software 
formatted with Oliger Safe, Larken Disk, and RAMEX 
Disk. 


HARDWARE OPTIONS AND PRICING: The manual is 


written for those who build the two circuit board 
projects, This is a very educational project and 
one can save a considerable amount of money by 


assembling the two boards, Also, one may purchase 
both boards fully assembled and ready to use, The 
building project manual is a very detailed source of 
even for the non-builder, THE PRICING 
Bare Circuit Boards with the SAFE 
EPROM=$43,95, Kit of both circuit boards with ail 
parts=$97,95, Complete system Fully assembled and 
ready to use=$119,95 (129,95 with the Nill Option). 
The Four Slot Expansion Buss: Bare board=$11.95. 
Board with parts=$43,95, Fully assembled=354,95, 


reference 
OPTIONS: 


If you are ever going to build a electronics 
project, then a Oliger Kit is what you should start 
with, His clear and easy to 
understand, needed to build 


instructions are 
The only equipment 
these projects is a small scidering pencil, However 


it will help to have a desk magnifying glass to 


January 1988 


better see the tiny circuit traces, and an ounce of 
Acetone with a@ soft toothbrush are needed to clean 
oft the solder flux as the job progresses, The 
building time for both boards will be about 5-10 
hours, Mr. Otiger wont let you fail, For a nominal 
charge of $10,009 you can send him a completed board 


for check out and repair, So, if it doesn't work 


after you build it, that is your insurance, 


SOURCE: The Oliger 
Drive, Cumberland, IN 46229, 
list. 


Company, 11601 Whidbey 
Send SASE for product 


TS-2068 SUPPORTING PUBLICATIONS 


at Syncware News: Tom Woods departs 
Jeff Moore steps up from Editor to 


Changes 
the scene, and 


Publisher, Basil Wentworth, well known to most of 
us "timers" becomes Editor of Synceware News. Fred 
Nachbaur, the original founder and publisher, 


continues as Technical Advisor. Sounds Ike an 
enduring combo to me, Of interest is that Syncware 
News is beginning to support the IBM Clone Users, a 
move that should enhance their subscriber base and 
advertising potentiol, Up-Date recommends that all 
TS-2068 users continue their subscriptions to 
Syncware News and encourage their efforts, Syncware 
News, 602 5S. Mill Sts, Louisville, OH 44641, 
Subscriptions, $16.95 U.S. $19.95 Canada and 
Mexico. (1 year 6 issues). 


TIME DESIGNS and CTM MAGAZINE continues to be 
leader publications in support of Timex Sinclair 
Computers, Both are excellent publications, highly 
recommended by UP-DATE. Time Designs, 29722 Hult 


Road, Colton, OR 97017, Subscription $15.00 per 
year, six issues, | CTM Magazine, 1704 Sam Drive, 
Birmingham, AL 35235. Subscription $18.00 per year 


(U.S) $32.00 per year (Canada, Mexico), 12 issues, 


COMPUTER SHOPPER, a huge magazine, having a 
regular article series about Timex Sinclair, and a 
mammoth source of computer products advertisements. 
Computer Shopper, 5211 S, Washington Ave, PO Box F, 


Titusville, FL 32780, Subscription $21.00 per year 


(12 issues), U,S, Subscriptions only. 


The Aerco FD~68 Disk System 


A Review by: 


The FD-68 is a disk system that has 
subscribed to the 'Theory of Evolution', That Is 
to say that the FD-68 is not a finished system and 
undergoes constant revision, However, Aerco has 
taken care to make sure that each update remains 
compatible with previous versions. 

Some features of the FD-68 that I like are: 
** Accepts any mixture of 4 disk drives In 3", 3 
1/2", 5 1/4", of 8" sizes, which can be SSSD, 
SSDD, DSDD, or DSQD,  ¥** Additional 64K of RAM 
memory addressed in the dock bank which Is 
expandable to 256K, *** Bullt-in RGB interface, 
am; Entire system Is contalned on one board of 
very good quality. The board is uncased but has a 
backing on the solder side, *** The Operating 
system is in a ROM and uses none of the ‘normal’ 
system RAM, ** Uses standard Sinclalr Keyword 
commands. *** Uses standard disk file names and 
extensions, ** Does not use a channel! number, so 
there are no conflicts with other device drivers. 
“eee Runs all CP/M 2,2 programs. ** Can be 
purchased as a complete system or you can 
economl ze by puting together your own system, 

While the unfinished system has many unl que 
enhancements, the process of evolution has created 
a few drawbacks, 1! feel that the biggest 
drawbacks are: ** The entire Basic varlables area 
must be saved, as individual arrays cannot be 
saved. ** The system is not compatible with 
Spectrum programs, ** There Is limited directory 
space, The array problem can be worked around 
rather easily, however, the Spectrum compatibility 
has been longed for by the users, The FD-68 will 
only recognize 32 program titles, at this time, 1 
understand the directory space has been increased 
however, | have not recelved my latest EPROM 
up-date, 

The real problem with the deficiencies is the 
long delay between updates (Spectrum capatabl lity 
was to be completed two weeks after the 5/87 
Sinclalr Mini-fest). The updates are sent from 
Aerco In a new ROM, There is a small fee ($5.00 
for the last update | recelved) for this and the 
old ROM {fs returned to Aerco to be recycled for 
the next update, Also, your ROM can be 
reprogrammed at any time, If you make changes in 
your system configuration, The Basic FD-68 system 
allows saving of Basic programs, binary memory 
Images (code), the entire variables area (with or 
without a Basic program) and SCREEN$'s, There is 
also the capability of running an AROS program, 
from disk, In the dock bank! Provision has been 
made for the future addition of numeric arrays 
(.DAT), character arrays (.CHR) and LROS program 


Syd Wyncoop 
(.LRO) extenslons, 


There Is a special extension (BUT) that 
allows entry Into a very nice implementation of 
CP/M, called RP/M, CP/M provides an entirely new, 
to Sinclair users, operating system. There is a 
wide range of public domain and commercial 
applications packages aval lable to us under CP/M. 
More on this In future Issues, If there Isa 
request for It. Each disk can store one autostart 
program by naming it *Boot.bas' which runs upon 
turning on the computer, with the disk In drive A. 
1 usually place a program such as M-Script or Zeus 
on a disk as the boot program, | then use the 
rest of that disk for files that the Boot program 
USES. All of my general purpose disks have a 
special Boot program |! wrote that sets-up the 
system variables to my taste, catalogs the disk 
and loads the files | Indicate. This has proven to 
be a very efficient procedure. 

1 cannot say enough good things about the 


FD-68, | looked at the Oliger and Zebra systems 
when | was shopping for a disk system and | chose 
the Aerco for the above reasons. | feel that It 


provides the widest range of options (Though | 
must admit that | do like the Zebra tree 
structure). It Is a good value and a must have. 
1 since looked at the Larken system, Larken has 
some unlque features but, | am not convinced to 
change. In short, the Aerco FD-68 provides many 
unique features. 

Source: AERCO, PO-Box 18093, Austin, TX 
78760, Send SASE for |iterature and prices. 


Author Profile 


Mr. Syd Wyncoop works with the J, 1. Case Co, 
of Portland, Oregon, manufacturing Farm and 
Construction Equipment (How unique! An American 
Manufacturer!). A Boy Scout leader, and member of 
the Executive Committee of St. Therese School, Syd 
is Involved but finds time to teach Machine Code 
to the Portland SIG group and hold office as 
Chairman of CATS, one of the mst active Timex 
User Groups. Syd bought his first computer, a 
TS-1000, ‘to acquaint his two boys with computers. 
Then he had to teach himself In order to be the 
teacher, Now he Is the Guru of the Portland area 
user groups. We UP-DATE'rs encourage Syd to 
continue covering the Aerco FD-68 and CP/M, as 
well as sharing his programs and Utilities. 
SALUTE! 


ALNOAWI LNSNOdNOD GHVOG Od ‘s907SL 


TIMEX TECHNICAL DATA 


syed off] al 


Bot 
one 
® 

rf 


TIMEX TECHNICAL DATA 


. Yee oF Tm TREWIMEAL ORATION CONTAINED MEREDE TB AT UBC 
Mote seams weed tet mronustion wie agtarW@o 70 Ot CORRECT 
‘Tut toed if WAS prEPAneD, TUE COMPUTER CORPORATION OATS, 
Reruates, A1a0SE HO REGPORIMORITY OM UADLITY FON THE SAFETY 


cont-Tor| 


vATeLs2 rat 


= = PAG TUNED MELT Om 
3 rowan | em tirenee wntames ay nenton OF Mr clint Put EN pmaoUeTS 
3 NGMAL | nage ANY PATENT O8 OPedt ROUNTHAL PROPERTY MONT” 
j co) + 
3 ASV AT 1.0 AMP : sree) 
3 ey PT Len NOTES: peacss onennes srecireo) 
ro- ‘ono 1) ALL RESISTORS ARE 1/4 W, 6% RATED mH OMS, 
| ast 2) ALL CAPACITORS ARE RATED IN MICROFARADS. 


SL at 
H 3) FOR O28126C, MESERT WI a W2. 


Fon INSERT W3 A Wad (NOT USED) 


DwG. 
No. 


= 
= 

= = 

= an 
2 £ — 

= 

a 

a parss4o 

S swircnina YOLTAUE 

= REQLATOR 

= 

PA 

a 

= 


J-sv oc 


cS Seay 


oft E sorte 


av : i 
| 


q +50 
TaC600) 13 | 


e L#r 
we [Yt ny 5 en OE ena re{v2) San 
om e190 reas zt 1 
Foose Lizoor Lose ens | | 4 a frerras 


Toor Lsaope $x eereel gS 


ie t40 


e 


9 vas 
+ $toK 
fer vecron 


ars 


1 ae — 


‘saving 44131226709 


TIMEX TECHNICAL DATA 


lee Rt! 
SR eras ce 
ck 


at 
=a 
EF 
ae 


1, 13, 26 


‘couronEnT mE 


sagt ie HH sabe pa 


=~ OVERLAP 


TAME 
182000 SYSTEM 
SCHEMATIC DIAGRAM 


ows 
NO 335+870500 


TIMEX TECHNICAL DATA 


OND 91S 


OND DIS 


03014 


‘aNnos 


ostsng 


svol 


g 
g 
& 
S 


AK 


(a3iNdWOd 40 LNOYS WOUS MATA) 


aqais 


a\2)4/alalalalalala 


LNAINOGWOI-NON 


a 
a 


Bel 
arly 
esly 


OL 
ot 


st 
st 


ot 
ot 


et 
a 


io 
| 
a 


Hlz|s 


7018S 


AW LVdw03 OOOTSL 


LNINOGHOQO)D 


Ww 


OND UMd 


GND UAd 


1025 


a, 


Q3SN LON 


niza 


Ast 


— 
At ASE 


40 


Lnoawi 


TVNOIS 


YyOLIANNOD 


Te 


aay 


eee 


AMO 34VL/¥4ES: 


wa 


6 
g 


CET STATE/TIP: 


IN TYS 2068 COMPUTING! 


quantity DESCRIPTION PRICE EACH 


$14.98 ppd 
920.95 ppd 


fm 
930.99 ppd 
S95 ood 


Just look at all of the "plot-a-bilities": 


1520 is both a hi-res plotter AND a printer. 
1520 is compact-slightly larger than a 2040. 
High quality ALPS made plotter mechanism. 

4 color plotting: black, blue, green, & red. 
4 character sizes: 10, 20, 40, and 80 c.p.l. 
16 selectable dashed line sizes. 

90 degree character rotation possible. 

479 "x" step / +-998 “y" step plotting area. 
Extra paper & pens avail. at RADIO SHACK. 
Quality PC board with plate-tnrough holes. 
“LPRINT" commands control plotter functions. 
Expanding variety of software for the I/F. 
1520 available @ TOYS-R-US stores for $29.95. TOTAL ENCLOSED?) 


Write for more infomation and sample plot. SEND ALL ORDERS 10: 
: vee i « iy pt piste John McMichael, 1710 Palaer Or., Laramie, WY 82070 


Eage Connector 
purch: th hard 

SCREEN- 
PIC-PLOT utility 


BANNERIFIC utility 


I set/order 


FEHERB BOWERS PROUDLY PRESENTS? 


HONEY HAACHINE ©) 
Based on a Popular TU Game Show 


STARRING LOVELY MISS BANNA BRITE 
The Ultimate Word Game 


The all new _MONEy MACHINE IT 
FEATURING: 


New theme!l! 
Fantastic Famity Funtt 
“BANNAN turning the Letters 
of NEU Puzzles 
Bor 3 Players 


Ful this for only 
T/s 2068 wa 
Cassette tie 1. oo (us) 


Postage-via ist Class 


HERB BCUERS, Sr. 
S83 Voodshire circle 


Chesapeake, VA 23029 
Phone: 6064 487-So24 


Fookkeepina and RCCOUNTING Sar teare 


UP-DATE ISSUE DISKETTES 


The software and utI{Ities presented in each Issue of UP-DATE are consolodated and offered on 
disk. These are all NEW programs having a combined value of at least $50.00. The authors of the 
titles share in the sales proceeds of the Issue Diskette, As you add these useful programs to your 
library you are supporting your Up-Date magazine and the authors who bring you these useful 
programs. 

Disk System Support: | By the time you read this UP-DATE should have support capabllIty for 
LARKEN, AERCO FD-68, RAMEX, and OLIGER SAFE, disk systems. Disk Drive support includes: 3" Amdisk, 
5 1/4" DS/DD 40 or 80 track, and 5 1/4" SS/DD 40 track. Due to high cost and scarcity, orders for 
3" Amdisk programs must be accompanied by a 3" diskette for dubbing. 


3908812080 EBB EEHEB ER EEBBHGHBHEE — JBBEEEGBHBHD EE EEHHE EEO GHEE SEB E 


* * * * 
JANUARY 88 DISKETTE OCTOBER 87 DISKETTE 
The January disk contains: MTERM The October 87 disk contains: MAIL 
DATA CAPTURE, = by George Chambers: VERGE, by Up-Date: — J-UTILITIES, by 
DOSDEX File Indexer, by Bob Hartung: Up-DATE: A Menagerie of 20 Sound and 
PURITY, by Up-DATE: LIST LOOKER, by Visual utilities: A Group of 
Up-Date: = EXTRA MEMORY UTILITIES, by Programming Tips. Mail Merge is a major 
Up-Date. PRICE: $19.00 postpald. software. PRICE $16.00 postpald. 
*  * * 


38H HEBER HBIBHBEBBHHEBEEBEHBYBOEE — JBBHBUEBBEHEHE EHH EEE HASTA AE 


Special offer: Get both January and October Issue Diskettes for $32.00 postpaid. Order 
through UP-DATE, address on cover. 


ERI 2 III RU IG DIE B ESE JIE III TI IIIT IIIA 


* e * * 
Swart Text Disk Smart Text Cassette 

The Smart Text programs are being The Cassette version of Smart Text 
prepaired In LARKEN, AERCO FD-68, and has many of the automatic data 
RAMEX, disk formats, Disk drive formats processing and printing functions of the 
are: 3" Amdisk, 5 1/4" DS/DD 40 or 80 disk drive software, and it includes the 
Track, or 5 1/4" SS/DD 40 Track. Due to program for use with the Zebra OS-64 
the cost and scarcity of 3" diskettes, Cartridge. This software is available 
orders for 3" disk must be accompanied only for use with Aerco or Oliger 
by two 3" diskettes for dubbing. Each Centronics Parallel Interface. As 
diskette has an additional software for programmed, ST works with EPSON 
use with the Zebra 0S-64 cartridge for compatable printers. Program line 
64 colum display. Standard price for changes are required for others. 80 
all Is $26.00 (postpaid US and Canada). page manual Includes Instructions. The 
Order through UP-DATE, Satisfaction TS-2040 printer Is also supported. 
Guaranteed. Price $26.00 (Postpaid). Order through 

= * % UP-DATE, Satisfaction Guaranteed. * 


JRE E EEE GEE HEE HHSDHBHEBBHBHBHEHEHEHASH: — JHBREEEBHHOHHHEHBHHHEEHHHEBBHNBBBHBHHEEEEE BEEBE: 


Continued from preceeding page. 


vewrVoltage standing wave ratio 
vtva=Vacuua tube volt meter 
WeVolume unit 

wo=Wide band 

wdg=Winding 

whdu=Watt hour geter 
waeVattaeter 

wveVorking voltage 
XsReactance 

Al=Inductive Reactance 
zasZero adjusted 


vtVacuum tube 


VOX=Voice operated transnitter keyer 


wide 


wdWatt demand neter 
wgrWaveguides vire gage 


wl-Wavelength 


weHire wound 


Xc=Capacitive reactance 


yeAdmittance 


Z=Impedances Zone 


SEMICONDUCTOR ABBREVIATIONS 
The following abbreviations have been adopted for use with 


semiconductor devices. 


Alpha, Common-base short-circuit 
current gain 

B, b—Base electrode for units employing 
a single base 

by, be, etc.—Base electrodes for more 
than one base 

B—Beta. Common-emitter short-circuit 
current gain 

BVg—Breakdown voltage, reverse 

C, c—Collector electrode 

Cy—Interterminal capacitance, collec: 
tor-to-base 

C..—-Interterminal capacitance, collec- 
tor-to-emitter 

Ca—Drain-source capacitance, with 
gate connected tothe guard terminal of 
a three-terminal bridge 

Cao—Open-circuit drain-source capaci- 
tance 

Cau—Drain-substrate capacitance, with 
gate and source connected to the guard 
terminal of a three-terminal bridge 

Ca—Interterminal capacitance, emit- 


ter-to-base 

Cyeo—Open-cireuit gate-drain capaci- 
tance 

Cyo—Open-cireuit gate-source capaci- 
tance 


Cio—Open-circuit input capacitance 
(common base) 

Cy.—Short-cireuit input capacitance 
(common base) 

Cio—Open-cireuit input capacitance 
(common emitter) 

Cys—Short-circuit input capacitance 
(common emitter) 

Ci.—Gate-source capacitance, with 
drain short-circuited to source 

Cope—Open-circuit output capacitance 
(common base) 

Cou—Short-circuit output capacitance 
(common base) 

C.u—Short-cireuit output capacitance 
(gate-drain short-circuited to ac) 


Coo—Open-circuit output capacitance 
(common emitter) 

Coe—-Short-cireuit output capacitance 
(common emitter) 

Cyu—Drain-source capacitance, with 
gate short-circuited to source 

Crye—Short-circuit reverse transfer ca- 
pacitance (common base) 

Cre--Short-circuit reverse transfer ca- 
pacitance (common collector) 

Cra—Short-circuit reverse transfer ca- 
pacitance (common emitter) 

Cye—Drain-gate capacitance, with the 
‘source connected tothe guard terminal 
of a three-terminal bridge 

D—Duty cycle 

d—Damping coefficient 

E, e—Emitter electrode 

fym—Smali-signal, short-circuit, 
forward-current, transfer-ratio cutoff 
frequency (common base) 

fie —Small-signal, short-circuit, 
forward-current, transfer-ratio cutoff 
frequency (common collector) 

fyee—Small-signal, short-circuit, 
forward-current, transfer-ratio cutoff 
frequency (common emitter) 

fnax—Maximum frequency of oscillation 

f-—Transition frequency 

gp—Static transconductance (common 
base) 

gey—Smail-signal transconductance 
(common base) 

guc——Static transconductance (common 
collector) 

Sme-—Small-signal transconductance 
(common collector) 

gue—Static transconductance (common 
emitter) 

fes—Small-signal transconductance 
(common emitter) 

Ge—Germanium , 

Gpa—Large-signal average power gain 
(coramon base) 


nm 
° 


Gp—Small-signal average power gain 
(common base) 

Grc—Large-signal average power gain 
(common collector) 

Gye—Small-signal average power gain 
(common collector) 

Gpe—Large-signal average power gain 
(common emitter) 

G,—Small-signal average power gain 
(common emitter) 

Gye-—Small-signal insertion power gain, 
common gate 

G,—Small-signal insertion power gain, 
common source 

Gra—Large-signal transducer power 
gain (common base) 

Gy—Small-signal transducer power gain 
(common base) 

Gro—Large-signal transducer power 
gain (common collector) 

Gy—Small-signal transducer power gain 
(common collector) 

Gre—Large-signal transducer power 
gain (common emitter) 

G,,—Small-signal transducer power gain 
(common emitter) 

G,—Small-signal transducer power 
gain, common gate 

Gy—Small-signal transducer power 
gain, common source 

hyg—Static value of the forward-current 
transfer ratio (common base) 


hy—Small-signal, short-cireuit, 
forward-current transfer ratio (com- 
mon base) 


Hyc—Static value of the forward-current 
transfer ratio (common coilector) 

hy—Small-signal, short-circuit, 
forward-current transfer ratio (com- 
mon collector) 

hpg—Static value of the forward-current 
transfer ratio (common emitter) 

hy,—Small-signal, short-circuit, 
forward-current transfer ratio (com- 
mon emitter) 

hyei—Inherent large-signal, forward- 
current transfer ratio 

hy—Static value of the input resistance 
(common base) 


Continued on next page. 


Continued from preceeding page 


hy—Small-signal value of short-circuit 
input impedance (common base) 

hyc—Static value of the input resistance 
(common collector) 

h,.—Small-signal value of short-circuit 
input impedance (common collector) 

hyg—Static value of the input resistance 

(common emitter) 

—Small-signal value of short-circuit 

input impedance (common emitter) 

(real)—Resl part of small-signal 
value of short-circuit input impedance 
(common emitter) 

hog—Statie value of open-circuit output 
conductance (common base) 

ho—Small-signal value of open-circuit 
output admittance (common base) 

hoc—Static value of open-circuit output 
conductance (common collector) 

hee—Small-signal value of open-circuit 
output admittance (common collector) 

hos—Static value of open-circuit output 
conductance (common emitter) 

h.—Small-signal value of open-circuit 
output admittance (common emitter) 

ha—Small-signal value of open-circuit, 
reverse-voltage transfer ratio (com- 
mon base) 

h.—Small-signal value of open-circuit, 
reverse-voltage transfer ratio (com- 
mon collector) 

ha—Small-signal value of open-circuit, 
reverse-voltage transfer ratio (com- 
mon emitter) 

I, i—Intrinsie region of a device (where 
neither holes nor electrons predomi- 
nate) 

Ip—Base current (de) 

I,—Base current (rms) 

igp—Base current (instantaneous) 

Ipo—Breakover current, direct 

i—Collector current (de) 

1.—Collector current (rms) 

ic-Collector current (instantaneous) 

Icso—Current cutoff current (de), emit- 
ter open 

Icro—Collector cutoff current (de), base 
open 

Icen—Collector cutoff current (de), with 
specified resistance between base and 


emitter, 
lces—Collector cutoff current (de), with 


base short-circuited to emitter 
Icev-—Collector cutoff current with spec- 
ified voltage between base and emitter 
leex—Collector current (dc), with speci 
fied circuit between base and emitter 
Ico—Collector leakage current (cutoff 
current). 
Ip—Drain current (dc) 
Incom—Drain cutoff current 
Ipgr-*Drain current, (external) gate- 
source resistance specified 
Ipgg—Drain current, zero gate voltage 
Iogx—Drain current, gate-source condi- 
tion specified 


(-—Emitter current (de) 

1,—Emitter current (rms) 

ig—Emitter current (instantaneous) 

Ieso—Emitter cutoff current (de), col- 
lector open 

leccon—Emitter-collector offset current 

Igcg—Emitter cutoff current (dc), base 
short-circuited to collector 

levex—Emitter cutoff current (double- 
emitter transistors) 

1,~—Forward current (de) 

1—Forward current, alternating compo- 
nent 

ip—Forward current (Instantaneous) 

Ipavi—Forward current, de value with 
alternating component 

Iy¢—Forward gate current (direct) 

ipcu—Peak forward gate current 

Ipy—Forward current, peak total value 

Ipov—Forward current, overload 

Iran—Forward current, peak repetitive 

Irsu—Forward current, peak surge 

Ig—Gate current, de 

Ig-—Forward gate current 

Icn—Reverse gate current 

Iy—Helding current, direct 

1,—Infection-point current 

Ip—Average output rectified current 

Igy—Overload on-state current 

Ip—Peak-point current (double-base 
transistor) 

In—Reverse current (de) 

I—Alternating component of reverse 
current (rms value) 

ig—Reverse current (instantaneous) 

inmecy—Reverse recovery current 

Inaw-—Peak reverse current, repetitive 

Ipnwsy—Reverse current, total rms 
value 

Ig—Source current 

Igps—Source current, zero gate voltage 

Igox—Source current, gate-drain condi- 
tion specified 

Igam—Peak on-state current, repetitive 

Trau—On-state current surge (nonrepet- 
itive) 

Iy—Substate current 

Ty—Valley-point current (double-base 
transistor) 

Iz—Regulator current, reference cur- 
rent (de) 

Iox—Regulator current, reference cur- 
rent (de near breakdown knee) 

Tex-—Regulator current, reference cur- 
rent (de maximum rated current) 

Ko—Thermal derating factor 

L,—Conversion loss 

M—Figure of merit 

N, n—Region of a device where electrons 
‘are the majority carriers 

NF—Noise figure 

NEF,—Overall noise figure 

NR,—Output noise ratio 

P, p—Region of a device where holes are 
the majority carriers 


Pge—Total power input (de or average) 
to the base electrode with respect to 
the emitter electrode 

Pur—Total power input (instantaneous) 
to the base electrode with respect to 
the emitter electrode 

Peg—Total power input (de or averge) to 
the collector electrode with respect to 
the base electrode 

Pcs—Total power input (instantaneous) 
to the collector electrode with respect 
to the base electrode 

Pcg—Total power input (de or average) 
to the collector electrode with respect 
to the emitter electrode 

pce—Total power input (instantaneous) 
to the collector electrode with respect 
to the emitter electrode 

Ppg—Drain-source power dissipation 

Pgg—Total power input (de or average) 
tothe emitter electrode with respect to 
the base electrode 

Pes—Total power input (instantaneous) 
tothe emitter electrode with respect to 
the base electrode 

Pp—Forward power loss (de) 

Pr—Forward power loss (instantaneous) 

Pra—Forward power loss, total peak 
value 

P,p—Large-signal input power (common 
base) 

Pyy—Small-signal input power (common 
base) 

Pe—Large-signal input power (common 
collector) 

P,—Small-signal input power (common 
collector) 

Piz—Large-signal input power (common 
emitter) 

P,,—Small-signal input power (common 
emitter) 

Pos—Large-signal output power (com- 
mon base) 

Poy—Small-signal output power (com- 
mon base) 

Poc—Large-signal output power (com- 
mon collector) 

P,_—Small-signal output power (com- 
mon collector) 

Pog—Large-signal output power (com- 
mon emitter) 

P,,—Small-signal output power (com- 
mon emitter) 

Pa—Reverse power loss 

pr—Reverse power loss (instantaneous) 

Psy—Surge nonrepetitive power 

P;—Total power input (de or average) to 
all electrodes 

pr—Total power input (instantaneous) to 
all electrodes 

Q.—Recovered charge (stored charge) 

Rg—External base resistance 

Tes—Resistance between two bases, 
emitter zero (double-base transistor) 

1n'C.—Collector-base time constant 


Continued on next page. 


Telecomputing 


MTERM 13 
Modifications for the LARKEN 0D System 
by G. Chambers 
14 Richome Court 
Scarborough, Ont M1K 2¥1 CANADA 


When I started to put MTERM II onto the LARKEN 
system I had some ideas of what I wanted to do. 
Primarily I wanted to be able to make disk saves of 
the buffer at any time while on-line. I soon found 
that as MTERM was constituted, this was impractical. 
MTERM as presently constituted cleared out any BASIC 
program and variables that were initial- ly present. 
Thus my idea of having a BASIC program ready to 
perform the disk-save {mmediately upon an exit from 
MTERM was not possible. I have overcome this by a few 
judicious POKEs into MTERM, plus some unique ideas in 
a companion BASIC program. The following notes 
describe the changes and their purpose. 


I found that one of the first things that MTERM 
does upon initialisation is to look at the system 
variables VARS and PROG. It uses these values to clear 
out the BASIC program and variables, also to help in 
determining the ongoing buffer status. 


Bytes which do this are located at 54035/37, 
54043/45, and 61165/66. I modified the program by 
POKEing new values into several MTERM addresses, as 
follows. 

54034,33: 54035,12: 54036,123 
54043,33: 54044,12: 54045,123 
54523 to 54537, POKE all zero’s in these addresses. 


The first six POKEs cause MTERM to set the start of 
the buffer space. This figure could be set anywhere; 
it is simply a trade-off between buffer size and BASIC 
program size. Initially, | considered having MTERM 
look at the system variable E-LINE, however I found 
that this became corrupted whenever | entered a direct 
conmand, I fastened on an arbitrary value of 31500 
since I felt that with a diskesave routine in place, 
maximizing buffer space was less important than having 
sufficient space for the BASIC program. This sizing 
will allow a LARKEN-modified LOADER Y to be used. 


I found that with this, even though the BASIC 
remained untouched, the program variables were being 
wiped out. Looking around, I found a block of MTERM 
code (54523/54537) that appeared to do this. 1 simply 
wiped it out with no apparent ill-effect. 


Addresses 61164/65 store the used/free buffer 
status. They are ioaded with the values found in 
addresses 4044/45 (i.e, the starting address of the 
buffer) at initialisation, and are incremented as the 
buffer fills. I have made use of this in LINE 22 of 
the BASIC program to determine the size of the block 
of data to be saved. 


January 1988 


These addresses 61164/65 can be useful in another 
way. If, for example, you inadvertently erase the 
buffer while in the Buffer Menu mode it 1s possible to 
restore it. Option 4 in the menu allows you to insert 
an arbitrary buffer length. This will change the 
“buffer used/free" pointer in MTERM so that one can 
view and/or save the buffer. 


These addresses 61164/65 can be useful in another 
way. If, for example, you inadvertently erase the 
buffer while in the Buffer Menu mode it is possible to 
restore it by POKEing address 61165 with a value 
between 124 and 211. The buffer itself has not been 
erased, simply the pointer, and this POKE creates an 
arbitrarily-sized buffer. 


There a number of features about the program which 
are worthy of explanation. LINE 100 contains POKEs to 
addresses 23662/63. It's purpose is this. Usually, if 
you execute a RAND USR from a BASIC program and 
return, the BASIC program will continue from where you 
left it. However with MTERM this is not the case. You 
will come out to an OK report at the bottom of the 
screen. I was unable to find the MTERM code which 
caused this. Failing that, I solved the dilemma by 
POKEing a number into the system variable OLDPPC 
(address 23662/63) corresponding to the LINE number 
where I wish to continue in the BASIC program. Then, 
when I exit from MTERM it is simply necessary to press 
the C key (CONT), and the ENTER key, to find myself 
back into the running BASIC program at the spot where 
I want to be. 


The BASIC has a couple of other things about it 
which are of interest. If one accesses MTERN by a RAND 
USR $4016 the program is reinitalized with the buffer 
set as cleared. However, if it is desired to re-enter 
MTERM without disturbing the state of the buffer then 
one can use RAND USR 54089. This option has been 
included in the BASIC at LINES 30 and 32, 


There probably will be occasions when several 
successive buffer SAVES will be required during the 
same download, The BASIC contains an arrangement 
whereby the name of the saved buffer remains the sane 
while it's suffix ts incremented, Where the initial 
SAVE has a suffix of "Ca", the suffix in subsequent 
SAVES will be incremented as "Cb", "Cc", etc. 


Although we have shown an original BASIC program 
here for use with MTERM there 4s every reasdn to imbed 
these program ideas into LOADER IV or LOADER V. They 
will work there in the same way, and provide for the 
additional features of these programs, 

Also, even without a disk system, these features may 
prove to have some merit, and are worth considering, 


1 


Telecomputing 


In adapting this program you will have to watch 
carefully when you tamper with the makeup of LINES 20 
21, 32, and 100, What you are trying to do is direct 
the return of the computer to the appropriate line and 
statement number, and this can be tricky. 

Note that the program is designed to be used in the 
LARKEN AUTOSTART mode. That is, you should save it to 
disk with a GOTO 3. 


Q>REM Modified MTERM II for 
the LARKEN disk system 
by G. Chambers 


2 Go TO VAL "91 

4 CLEAR VAL 31499": RANOOMIZ 
E USR VAL "192" 

6 CLEAR VAL '549415'": RANOOMIZ 
E USR VAL "490": OPEN #4,"da"t 

7 PRINT #4: LOAD "mterm2.Ci"Cc 


="buf Fer” 
49 LET g=VAL 450" LET g=VAL 
"g7": LET FSVAL "2o'; LET o=NOT 
PI: LET i=PI/PI: BORDER o: PAP 
ER o: INK VAL "7%; CLS + PRINT 
TAB VAL ‘49'S "MTERM TI"! t* TAB 
PI#PI;"MAIN MENUS!*?''TAB PI+P1; 
4) RUN MTERM!'TAB PI+PI;"2) Lb 
OAD BUFFER"! ' TAB PI+PI;"3) NAME 
A BUFFER FILE"! 'TAR PI+PI;"'4) 
RESTORE BUFFER"! 'TAB PI+P1;''5) 
SCAN DISK FILE":: GO SUB VAL '"4 
a"; IF LEN 2$<>i OR z2$<"4"" OR z 
$>"5'" THEN RUN 
42 GO TO VAL zS#F 
43 INPUT "fYour Choice? '"; LINE 
zS: RETURN 
20 GO SUS g: RANDOMIZE USR VAL 
"sagi6" 
241 CLS : CLS : LET g$=CHRS q: 


COMMENTS: 


January 1988 


25 CLS : PRINT AT VAL '40",NOT 
PI;"Press ENTER if you wish to 
clear the buffer'*"0therw 
ise press any other key": PAUSE 
° 

30 IF CODE INKEY$=VAL "13" THE 
N GO TO VAL "2g" 

32 GO SUB g: RANOOMIZE USR VAL 

"sages" 

49 CLS : PRINT TAB 9;''LARKEN/M 
TERM TINH titInsert disk con 
to be loaded & 

press a key": PAUSE o: CLS : P 

RINT #4: CAT ",: PRINT '' Full 
name of File (9 char$): "3: IN 
PUT "Filename? "3; LINE n$ 

44 PRINT #4: LOAD nSCODE VAL ** 
a1s9a" 

48 INPUT "Enter the file lengt 
ht (approx, if not known)';1: 

LET 1=1+VAL "31590": IF 1L>VAL 
"53966" THEN LET 1=VAL "53966"? 


taining program 


5Q POKE VAL "611654", 1-256*( INT 
(1/256) ): POKE VAL ''61165', INT 
(1/256) 

55 CLS : GO TO VAL "3a" 

60 CLS : INPUT "Buffer Name (6 


14" THEN GO TO 48 
4@0 CLS : PRINT AT VAL "47", NOT 
PI;"Enter full Sisk File Name 

": INPUT oS 
419 PRINT #4; PRINT oS 
415 GO TO 19 
45@ POKE VAL "23662",VAL "24": 

POKE VAL "23663't,NOT PI: RETURN 

ons 


PRINT AT VAL ''42",NOT PI;"Save byte waste. <LET i=PI/PI> saves 
buffer to disk?(Y/N)""'"File Na memory as opposed to <LET i=1>, George Chambers 
me is '; FLASH PI/PI;g$+"".C'!+qS started computing with a 2X-80 back 


: FLASH o: PAUSE o: IF INKEY$="" 
nt OR INKEYS="Nl THEN GO TO VA 
L tea 

22 LET n=PEEK VAL "'61164''+VAL 


served 
from the engineering dept of 


in an executive role since. 


N2S6"SPEEK VAL "64465"-VAL "3145 Scout Leader, and a volenteer worker for the 
oo" National Institute for the Blind. 

23 LET gS=CHRS q: LET geqtP1/P program: | have tried for a year to cut Into MTERM 
I: PRINT #4: SAVE g$+"',C''+q$COD IL and make it dump data to disk. Now George has 


E VAL "34509", n 


dude it where | failed. 


SALUTE! 


24 IF INKEY$<>"? THEN GO TO V Now you Oliger or Aerco users: The line numbers to 
AL tt2gr edit and change to your disk syntax are: 6, 7, 27, 
40, 44, and 100, Also, <RANDOMIZE USR 100> and 

<PRINT #4> are  LARKEN SYNTAX and each use must be 


deleted for other disk systems or cassette, 


2 


An old "ZX!er can readily recognize 
another by his progranming style which minimizes 
four bytes of 


in 1981, 
graduated to a ZX-81, and then to his TS-2068, He 
chartered the Toronto Timex Club in 1982 and has 
He Is retired 
Bell Canada, a Cub 


About the 


and Thanks George! 


(Ed) 


TS:2068 UP‘DATE 


ed Wright Fiyer 
Ragg ERA Of Telecom 
1988 


TS-2068 UP-DATE 
1317 Stratford Ave, Panama City, FL 32404 
(904 871 4513) 


COMMUNICATING WITH COMPUTERS 


Progress will be the break through during this decade. 


EDUCATION & REFERENCE 
(GO REFERENCE) 


CompuServe provides educational resources for students of 
ail ages and educators at all levels. 


For Professionals 
Access a vatiety of Curriculum planning resources. Consuit praites 
‘of pubishers of specializes educational materials. Join other 
‘edueators in specialized Forums: 


Reference and Research Tools 
Enjoy instant access to an electronic version of Groller's Acadenic 
American Encyclopedia. Plus, CompuServe's !Quest lets you access 
early 700 olner daabases from business, commerce, incustry ang 
academia College Press Service keeps you current with Ecucaion 
News Services 


Career Planning and Guidance 
The College Board and Peterson's Colege Databases he'p chosse 
a college. prepare bor the SAT, plan an adult student's retum to 
academia, ard evaluate strategies for securing financial aid 


‘Support Services For Special Education 
‘A resource for those with handicaps, as well as these who assis, 
train, educate or employ the leaming disabled and the vision. 
hearing or mobility mpaired 


Computer, Telecom Gear Makers 
See Revenues Doubling. By 1996 


WASHINGTON 


peed PROJECTED REVENUES 
‘COMPUTER, BUSINESS 
TELECOMMUNICATIONS. 


re 
EQUIPMENT INDUSTRY 


average saneal compannt 
Froviherate a 3 percent 
Enmpute si Pome ea 
Titers Ere 


ser tad cent and ES pee 
Dee year, if 

Te the twtr term. combined 
ibe 25602 Sion tha year 
Bed gow by 99 parent 
Hint im B65 Rew: 


poe afm noe te erow by 
Det FT secon in Fone 
ymputer and business 


SRT balm TOMA AS 
‘remated teres i telecon 
fom $188 illien thin yenr 
5201 hillion in TR amet 
nid percent pen 

"ae fare he compute 
sod business equroment ru 
‘reomtinuettnlook beh The 


scccernting sarge’ doe to 5 Grease $593 blow 


CD nette, 
ARE 
[isso] You 


There» 
watson? 


Cable Will 
Hook Up 3 
Countries 


Lawn = Mercun, Com. 


pantie. 
Rivreans \CPRM ander 


Bireorate Grneenin eet: 
omenttnn, the uneamnet 


FINANCIAL TRANSACTION SERVICES 
(GO BANKING) 


Forward-thinking full service banks and brokers use 
CompuServe as an electronic gateway for out-of-town or 
out-of-state customers, local depositors, and investors. 
These services cater to consumers who prefer to serve 
themselves, electronically. No lines. No crowds. No traffic. 
No distractions. 


Banking 
Banks accross the country offer oniine financial and information 
systems where consumers and businesses can review transactions. 
transfer funds. pay bills, compare current interest rales anc even 
exchange electronic mail with bark officers. Milions of ceooie ‘wil 
Go their banking this way in the future. You can stant now. Take moe 
effective contre! aver personal finances. Save time anc money. Taxe 
acvantage of imporant new technology. Be one of the first 0 bare 
in an all new way. 


Quick & Reilly 
Quick Way drokerage services from Quick & Reilly Inc.. the nations 
thd largest ciscount brokerage, include: online purchase and sae 
of securities twenty-four hours a day, current siock and option 
brices. portiolic management anc automatic tax recerd Keeping. 
Transactions are executed immediately when enterec during 
‘business hours and at the start of the next business day wien 
entered evenings anc on weekends 


Max Ule 

Tickerscreen is a financial information service of the discount 
brokerage Max Ule & Co. It offers closing NYSE prices. commission 
comparisons, and direct order entry of Ouy and sell orders for 
clients of Max Ule, 


Unified Management Corporation 

Liquid Green ig a famiy of nooad mutual funds provided by Unified 
Management Corporation. Online access allows you to manage your 
account activities at your convenience, shifting cash reserves in and 
OUI of urd to take acvartege of atvacive money market imerest 
rates 


Those first telephone words "Hello, 
are you there Watson?" were spoken 
shortly after the turn of this century. 
About the same time Wilbur and Orville 
Wright were assembling bicycle parts to 
make a flying machine. That is about 
the stage of Telecomputing as we enter 
year 1988, At least 500 millionaires 
will make their fortunes in telecomuting 
within the next 10 years as progress 
existing 


overcomes communi cations 


monopol les.